Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Redis — это хранилище структур данных в памяти, широко используемое для кэширования, аналитики в реальном времени и обмена сообщениями. Это популярный выбор среди разработчиков из-за его молниеносной скорости и богатого набора функций.

Redis поддерживает множество структур данных, включая строки, хэши, списки, коллекции и отсортированные наборы. Он также предлагает встроенную поддержку обмена сообщениями публикации/подписки, поддержку транзакций и сценарии Lua.

Существует несколько популярных клиентов Redis для разработчиков Go, каждый из которых обладает уникальными функциями и функциями. Следующие три клиента Redis наиболее популярны среди разработчиков Go.

1. Пакет go-redis

go-redis package — это популярная клиентская библиотека Go для базы данных Redis. Он предоставляет простой и удобный API для взаимодействия с Redis, а также поддерживает все команды Redis.

instagram viewer

Пакет 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.