Redis — это хранилище структур данных в памяти, широко используемое для кэширования, аналитики в реальном времени и обмена сообщениями. Это популярный выбор среди разработчиков из-за его молниеносной скорости и богатого набора функций.
Redis поддерживает множество структур данных, включая строки, хэши, списки, коллекции и отсортированные наборы. Он также предлагает встроенную поддержку обмена сообщениями публикации/подписки, поддержку транзакций и сценарии Lua.
Существует несколько популярных клиентов Redis для разработчиков Go, каждый из которых обладает уникальными функциями и функциями. Следующие три клиента Redis наиболее популярны среди разработчиков Go.
1. Пакет go-redis
go-redis package — это популярная клиентская библиотека Go для базы данных Redis. Он предоставляет простой и удобный API для взаимодействия с Redis, а также поддерживает все команды Redis.
Пакет go-redis популярен среди разработчиков Go благодаря своей производительности, надежности и простому в использовании интерфейсу. Вы найдете пакет полезным для функциональности от управление сессиями кэширование, очередь сообщений и многое другое.
Запустите эту команду в терминале каталога вашего проекта, чтобы установить пакет go-redis.
идти получить github.com/идти-редис/редис
Вот как вы можете импортировать пакет go-redis в свой проект.
Импортировать (
"ФМТ"
"github.com/go-redis/redis"
)
Установить новое подключение к базе данных Redis с помощью пакета go-redis очень просто. Вы будете использовать НовыйКлиент метод редис пакет, который принимает Параметры структура, содержащая детали конфигурации.
функцияосновной() {
клиент := редис. НовыйКлиент(&redis. Параметры{
Адрес: "локальный хост: 6379",
Пароль: " ", // пароль не установлен
})
}
в основной функция, клиент переменная — это экземпляр подключения клиента Redis. Вы можете инициализировать Параметры структура с Адрес и Пароль поля, которые содержат адрес базы данных и пароль соответственно.
При создании экземпляра клиента Redis вы можете пропинговать базу данных, чтобы проверить ваше соединение с пинг метод. Вы можете использовать Результат метод на методе Ping, который возвращает статус и ошибку.
понг, ошибся := клиент. Пинг(). Результат()если ошибся != ноль {
ФМТ. Println (ошибка)
возвращаться
}
ФМТ. Println (понг, ошибка)
Вы можете добавить пару ключ-значение в свою базу данных с помощью Набор метод вашего экземпляра клиента. Используя ошибся Метод операции возвращает ошибку, которую вы можете обработать.
// Установить ключ
ошибка = клиент. Набор("ключ", "ценить", 0).Эрр()
если ошибся != ноль {
ФМТ. Println (ошибка)
возвращаться
}
Вы можете получить значение из базы данных с ключом, используя Получать метод вашего экземпляра клиента. Используя Результат Метод операции возвращает результат операции и ошибку.
// Получить ключ
val, ошибка := клиент. Получать("ключ").Результат()если ошибся != ноль {
ФМТ. Println (ошибка)
возвращаться
}
ФМТ. Распечатать("ключ", вал)
2. Пакет Radix
Основа package — это библиотека, которая предоставляет клиент для хранилища структур данных Redis в памяти. Пакет Radix абстрагирует пакет Redigo, предоставляя простой в использовании API для взаимодействия с Redis.
Пакет Radix обеспечивает поддержку всех команд Redis, включая Lua-скрипты и Pub/Sub, пулы соединений и автоматические переподключения, которые обеспечивают эффективную и отказоустойчивую работу с Redis, поддержку Кластеры Redis, включая прозрачное сегментирование и отработку отказа, а также облегченную и эффективную конструкцию, обеспечивающую низкую задержку и высокую производительность. пропускная способность.
Вы найдете пакет Radix очень полезным, если хотите быстро добавить поддержку Redis в свои проекты Go с момента Пакет абстрагируется от основных сложностей протокола Redis, обеспечивая кэширование, управление сеансами и организацию очередей сообщений. Полегче.
Запустите эту команду, чтобы установить пакет Radix версии три в рабочий каталог вашего проекта.
идти получить github.com/mediocregopher/radix/v3
Вот как вы можете импортировать Основа пакет в вашей программе.
Импортировать (
"ФМТ"
"github.com/mediocregopher/radix/v3"
)
Вы можете использовать Набирать номер метод основание пакет для подключения к серверу Redis. Набирать номер метод принимает тип подключения и адрес сервера Redis и возвращает экземпляр подключения и ошибку.
функцияосновной() {
// подключаемся к серверу Redis
соединение, ошибка := основание счисления. Набирать номер("TCP", "локальный хост: 6379")если ошибся != ноль {
ФМТ. Println (ошибка)
возвращаться
}
отложить конн. Закрывать()
}
В основной функции вы создали экземпляр соединения Redis с Набирать номер метод и закрыл соединение с Закрывать метод и отложить заявление.
Вы можете выполнять команды Redis с помощью Команда метод основание упаковка. Команда метод принимает интерфейс, команду и значения команды.
ошибка = соед. Делать (основание. Команд(ноль, "НАБОР", "мой ключ", "моя ценность"))
если ошибся != ноль {
ФМТ. Распечатать("Ошибка настройки ключа:", ошибся)
} еще {
ФМТ. Распечатать("Ключ успешно установлен")
}
Делать метод заключает в себе операцию и возвращает ошибку.
Точно так же вы можете получить значения из вашей базы данных с помощью FlatCmd метод. FlatCmd Метод принимает ссылку на переменную, команду и ключ.
вар вал нить
ошибка = соед. Делать (основание. FlatCmd(&val, "ПОЛУЧАТЬ", "мой ключ"))если ошибся != ноль {
ФМТ. Распечатать("Ошибка получения ключа:", ошибся)
} еще {
ФМТ. Распечатать("Значение mykey равно", вал)
}
Когда вы запустите этот код, вы должны увидеть вывод, подобный этому:
3. Пакет Редиго
Редиго package — еще одна популярная клиентская библиотека Go для Redis. В отличие от Основа и Go-Redis, Редиго package — это легкий клиент, предоставляющий простой и эффективный интерфейс для взаимодействия с Redis.
Одним из преимуществ Redigo является его производительность, несмотря на небольшой вес. Redigo предоставляет API-интерфейс, похожий на печать, с поддержкой всех команд Redis, и этот пакет широко используется для конвейерной обработки, публикации и подписки, пула соединений и других операций.
Запустите эту команду терминала, чтобы установить редиго упаковать и начать.
идти получить github.com/gomodule/redigo/redis
Вот как вы можете импортировать пакет redigo в файлы вашего проекта.
Импортировать (
"ФМТ"
"github.com/gomodule/redigo/redis"
)
Вы можете использовать Набирать номер метод редис package для подключения к экземпляру базы данных Redis. Метод Dial принимает тип соединения и адрес и возвращает экземпляр соединения и ошибку.
функцияосновной() {
// Подключаемся к экземпляру Redis
конн, ошибся := редис. Набирать номер("TCP", "локальный хост: 6379")если ошибся != ноль {
ФМТ. Println (ошибка)
возвращаться
}
отложить конн. Закрывать()
}
в основной функция, вы подключились к экземпляру базы данных Redis, работающему на порту 6379 и закрыл соединение с Закрывать метод экземпляра соединения и отложить заявление.
Вы можете выполнять операции Redis, используя Делать метод вашего экземпляра подключения. Метод Do возвращает выходной интерфейс и ошибку.
// Установить значение "привет" на ключ "сообщение"
_, ошибка = соед. Делать("НАБОР", "сообщение", "привет")
если ошибся != ноль {
ФМТ. Println (ошибка)
возвращаться
}
Вы можете получить строковый вывод операции Redis с помощью Нить метод редис упаковка. Метод String принимает экземпляр операции и возвращает значение и ошибку.
// Получить значение ключа "сообщение"
значение, ошибка := redis. Строка (соед. Делать("ПОЛУЧАТЬ", "сообщение"))если ошибся != ноль {
ФМТ. Println (ошибка)
возвращаться
}
ФМТ. Println (значение) // Вывод: "привет"
Вы можете использовать базы данных SQL с Go
В экосистеме Go есть поддержка популярных баз данных и хранилищ данных. Go предоставляет пакет database/sql как часть стандартной библиотеки для работы с базами данных SQL.