Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Redis е хранилище на структура от данни в паметта, широко използвано за кеширане, анализи в реално време и посредничество на съобщения. Това е популярен избор за разработчиците поради своята светкавична скорост и богат набор от функции.

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

Има няколко популярни Redis клиента за Go разработчици, всеки с уникални функции и функционалност. Следните три клиента на Redis са най-популярни сред разработчиците на Go.

1. Пакетът go-redis

The go-redis package е популярна клиентска библиотека на Go за базата данни Redis. Той предоставя прост, лесен за използване API за взаимодействие с Redis и пакетът поддържа всички команди на Redis.

instagram viewer

Пакетът go-redis е популярен сред разработчиците на Go поради своята производителност, надеждност и лесен за използване интерфейс. Ще намерите пакета полезен за функционалност от управление на сесии към кеширане, опашка за съобщения и др.

Изпълнете тази команда в терминала на директорията на вашия проект, за да инсталирате пакета go-redis.

отивам вземете github.com/отивам-редис/редис

Ето как можете да импортирате пакета go-redis във вашия проект.

импортиране (
"fmt"
"github.com/go-redis/redis"
)

Създаването на нова връзка към база данни на Redis с пакета go-redis е лесно. Ще използвате Нов клиент метод на redis пакет, който приема Настроики структура, съдържаща подробностите за конфигурацията.

функосновен() {
клиент := redis. Нов клиент(&redis. Настроики{
адрес: "localhost: 6379",
Парола: " ", // няма зададена парола
})
}

В основен функция, на клиент променливата е екземплярът на клиентска връзка на Redis. Можете да инициализирате Настроики структура с адрес и Парола полета, които съдържат съответно адреса на базата данни и паролата.

При създаване на екземпляр на Redis клиент можете да пингвате базата данни, за да проверите връзката си с Пинг метод. Можете да използвате Резултат метод на метода Ping, който връща състоянието и грешка.

pong, err := клиент. Ping().Резултат()

ако грешка!= нула {
fmt. Println (грешка)
връщане
}

fmt. Println (понг, грешка)

Можете да добавите двойка ключ-стойност към вашата база данни с Комплект метод на вашия клиентски екземпляр. Използвайки грешка метод на операция връща грешка, която можете да обработите.

// Задаване на ключ
грешка = клиент. Комплект("ключ", "стойност", 0).Err()

ако грешка!= нула {
fmt. Println (грешка)
връщане
}

Можете да извлечете стойност от базата данни с ключа, като използвате Вземете метод на вашия клиентски екземпляр. Използвайки Резултат метод на операция връща резултата от операцията и грешка.

// Вземете ключ
val, err := клиент. Вземете ("ключ").Резултат()

ако грешка!= нула {
fmt. Println (грешка)
връщане
}

fmt. Println("ключ", стойност)

2. Пакетът Radix

The Радикс package е библиотека, която предоставя клиент за хранилището на структурата на данни в паметта на Redis. Пакетът Radix абстрахира пакета Redigo, за да предостави лесен за използване API за взаимодействие с Redis.

Пакетът Radix осигурява поддръжка за всички Redis команди, включително Lua скриптове и Pub/Sub, групиране на връзки и автоматични повторни връзки, които позволяват ефективни и устойчиви операции с Redis, поддръжка за Redis клъстери, включително прозрачно шардинг и преход при отказ, и лек, ефективен дизайн, позволяващ ниска латентност и висока пропускателна способност.

Ще откриете, че пакетът Radix е много полезен, ако искате да добавите бърза поддръжка на Redis към вашите Go проекти след пакетът абстрахира основните сложности на протокола Redis, като прави кеширане, управление на сесии и опашка за съобщения по-лесно.

Изпълнете тази команда, за да инсталирате пакета Radix версия три в работната директория на вашия проект.

отивам вземете github.com/mediocregopher/radix/v3

Ето как можете да импортирате Радикс пакет във вашата програма.

импортиране (
"fmt"
"github.com/mediocregopher/radix/v3"
)

Можете да използвате Набиране метод на корен пакет за свързване към Redis сървър. The Набиране приема типа връзка и адреса на Redis сървъра и връща екземпляр на връзка и грешка.

функосновен() {
//свързване към redis сървър
conn, err := основа. Набиране ("tcp", "localhost: 6379")

ако грешка!= нула {
fmt. Println (грешка)
връщане
}

отлагам конн. Близо()
}

В основната функция вие създадохте екземпляр за свързване на Redis с Набиране метод и затвори връзката с Близо метод и а отлагам изявление.

Можете да изпълнявате команди на Redis с Cmd метод на корен пакет. The Cmd методът приема интерфейс, команда и стойностите на командата.

грешка = съедин. Направете (основание. Cmd(нула, "КОМПЛЕКТ", "мики", "моята стойност"))

ако грешка!= нула {
fmt. Println(„Грешка при настройка на ключ:“, грешка)
} друго {
fmt. Println(„Ключът е зададен успешно“)
}

The Направи метод обхваща операцията и връща грешка.

По същия начин можете да извлечете стойности от вашата база данни с FlatCmd метод. The FlatCmd методът приема препратката към променлива, командата и ключа.

вар вал низ
грешка = съедин. Направете (основание. FlatCmd(&val, "ВЗЕМИ", "мики"))

ако грешка!= нула {
fmt. Println(„Грешка при получаване на ключ:“, грешка)
} друго {
fmt. Println(„Стойността на mykey е“, стойност)
}

Когато стартирате този код, трябва да видите резултат, подобен на този:

3. Пакетът Redigo

The Redigo package е друга популярна клиентска библиотека Go за Redis. За разлика от Радикс и Го-редис, на Redigo package е лек клиент, който предоставя прост и ефективен интерфейс за взаимодействие с Redis.

Една от предимствата на Redigo е неговата производителност, въпреки лекото му тегло. Redigo предоставя подобен на печат API с поддръжка за всички команди на Redis и пакетът се използва широко за конвейер, pub-sub, групиране на връзки и други операции.

Изпълнете тази терминална команда, за да инсталирате redigo пакетирайте и започнете.

отивам вземете github.com/gomodule/redigo/redis

Ето как можете да импортирате пакета redigo във вашите файлове на проекта.

импортиране (
"fmt"
"github.com/gomodule/redigo/redis"
)

Можете да използвате Набиране метод на redis пакет за свързване към екземпляр на Redis база данни. Методът Dial приема тип връзка и адрес и връща екземпляра на връзката и грешка.

функосновен() {
// Свържете се с екземпляра на Redis
conn, err := redis. Набиране ("tcp", "localhost: 6379")

ако грешка!= нула {
fmt. Println (грешка)
връщане
}

отлагам конн. Близо()
}

В основен функция, вие сте се свързали с екземпляр на база данни на Redis, работещ на порт 6379 и затвори връзката с Близо метод на екземпляра на връзката и a отлагам изявление.

Можете да изпълнявате операции на Redis, като използвате Направи метод на вашия екземпляр за връзка. Методът Do връща изходен интерфейс и грешка.

// Задайте стойността "hello" на ключа "message"
_, грешка = съедин. правя("КОМПЛЕКТ", "съобщение", "Здравейте")

ако грешка!= нула {
fmt. Println (грешка)
връщане
}

Можете да извлечете изходен низ от операция на Redis с низ метод на redis пакет. Методът String приема екземпляра на операцията и връща стойността и грешка.

// Вземете стойността на ключа "message"
стойност, грешка := redis. Низ (конн. правя("ВЗЕМИ", "съобщение"))

ако грешка!= нула {
fmt. Println (грешка)
връщане
}

fmt. Println (стойност) // Изход: "здравей"

Можете да използвате SQL бази данни с Go

Има поддръжка за популярни бази данни и хранилища на данни в екосистемата Go. Go предоставя пакета база данни/sql като част от стандартната библиотека за работа с SQL бази данни.