Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Redis é um armazenamento de estrutura de dados na memória, amplamente usado para armazenamento em cache, análise em tempo real e intermediação de mensagens. É uma escolha popular para desenvolvedores por causa de sua velocidade ultrarrápida e rico conjunto de recursos.

O Redis oferece suporte a muitas estruturas de dados, incluindo strings, hashes, listas, coleções e conjuntos classificados. Ele também oferece suporte integrado de mensagens de publicação/assinatura, suporte a transações e script Lua.

Existem vários clientes Redis populares para desenvolvedores Go, cada um com recursos e funcionalidades exclusivos. Os três clientes Redis a seguir são os mais populares entre os desenvolvedores Go.

1. O pacote go-redis

O go-redis package é uma biblioteca de cliente Go popular para o banco de dados Redis. Ele fornece uma API simples e fácil de usar para interagir com o Redis, e o pacote oferece suporte a todos os comandos do Redis.

instagram viewer

O pacote go-redis é popular entre os desenvolvedores Go devido ao seu desempenho, confiabilidade e interface fácil de usar. Você achará o pacote útil para funcionalidade de gerenciamento de sessão para armazenamento em cache, enfileiramento de mensagens e muito mais.

Execute este comando no terminal do diretório do seu projeto para instalar o pacote go-redis.

ir obter github.com/ir-redis/redis

Veja como você pode importar o pacote go-redis em seu projeto.

importar (
"fmt"
"github.com/go-redis/redis"
)

É fácil instanciar uma nova conexão com um banco de dados Redis com o pacote go-redis. Você vai usar o Novo cliente método do redis pacote, que aceita o Opções struct contendo os detalhes de configuração.

funçãoprincipal() {
cliente := redis. NovoCliente(&redis. Opções{
Endereço: "localhost: 6379",
Senha: " ", // sem senha definida
})
}

No principal função, o cliente variável é a instância de conexão do cliente Redis. Você pode inicializar o Opções estrutura com Endereço e Senha campos que contêm o endereço do banco de dados e a senha, respectivamente.

Ao criar uma instância do cliente Redis, você pode executar ping no banco de dados para verificar sua conexão com o Ping método. Você pode usar o Resultado no método Ping, que retorna o status e um erro.

pong, erro := cliente. Ping().Result()

se erro != nada {
fmt. Println (err)
retornar
}

fmt. Println (pong, err)

Você pode adicionar um par chave-valor ao seu banco de dados com o Definir método da instância do cliente. Usando o Errar método em uma operação retorna um erro que você pode manipular.

// Define uma chave
erro = cliente. Definir("chave", "valor", 0).Errar()

se erro != nada {
fmt. Println (err)
retornar
}

Você pode recuperar um valor do banco de dados com a chave usando o Pegar método da instância do cliente. Usando o Resultado método em uma operação retorna o resultado da operação e um erro.

// Pega uma chave
val, erro := cliente. Pegar("chave").Resultado()

se erro != nada {
fmt. Println (err)
retornar
}

fmt. Imprimirln("chave", valor)

2. O Pacote Radix

O Radix package é uma biblioteca que fornece um cliente para o armazenamento de estrutura de dados na memória do Redis. O pacote Radix abstrai o pacote Redigo para fornecer uma API fácil de usar para interagir com o Redis.

O pacote Radix fornece suporte para todos os comandos Redis, incluindo Script Lua e Pub/Sub, pool de conexões e reconexões automáticas que permitem operações eficientes e resilientes com Redis, suporte para Clusters Redis incluindo sharding e failover transparentes e um design leve e eficiente que permite baixa latência e alta Taxa de transferência.

Você achará o pacote Radix muito útil se estiver procurando adicionar suporte rápido ao Redis aos seus projetos Go, pois o O pacote abstrai as complexidades subjacentes do protocolo Redis, tornando o cache, o gerenciamento de sessão e o enfileiramento de mensagens mais fácil.

Execute este comando para instalar a versão três do pacote Radix no diretório de trabalho do seu projeto.

ir obtenha github.com/mediocregopher/radix/v3

Veja como você pode importar o Radix pacote em seu programa.

importar (
"fmt"
"github.com/mediocregopher/radix/v3"
)

Você pode usar o discar método do raiz pacote para se conectar a um servidor Redis. O discar O método aceita o tipo de conexão e o endereço do servidor Redis e retorna uma instância de conexão e um erro.

funçãoprincipal() {
// conecta ao servidor redis
conn, err := radix. Discar("tcp", "localhost: 6379")

se erro != nada {
fmt. Println (err)
retornar
}

adiar conn. Fechar()
}

Na função principal, você criou uma instância de conexão Redis com o discar método e fechou a conexão com o Fechar método e um adiar declaração.

Você pode executar comandos Redis com o Cmd método do raiz pacote. O Cmd O método aceita uma interface, um comando e os valores do comando.

erro = conn. Faça (radix. Cmd(nada, "DEFINIR", "a minha chave", "meuvalor"))

se erro != nada {
fmt. Imprimirln("Erro ao definir chave: ", erro)
} outro {
fmt. Imprimirln("Chave definida com sucesso")
}

O Fazer O método inclui a operação e retorna um erro.

Da mesma forma, você pode recuperar valores de seu banco de dados com o FlatCmd método. O FlatCmd O método aceita a referência a uma variável, o comando e a chave.

var val corda
erro = conn. Faça (radix. PlanoCmd(&val, "PEGAR", "a minha chave"))

se erro != nada {
fmt. Imprimirln("Erro ao obter a chave: ", erro)
} outro {
fmt. Imprimirln("O valor de mykey é", valor)
}

Ao executar esse código, você deverá ver uma saída semelhante a esta:

3. O Pacote Redigo

O vermelho package é outra biblioteca de cliente Go popular para Redis. Diferente Radix e Go-redis, o vermelho package é um cliente leve que fornece uma interface simples e eficiente para interagir com o Redis.

Um dos pontos fortes do Redigo é seu desempenho, apesar de seu peso leve. O Redigo fornece uma API tipo impressão com suporte para todos os comandos Redis, e o pacote é usado popularmente para pipelining, pub-sub, pool de conexões e outras operações.

Execute este comando de terminal para instalar o redigo pacote e começar.

ir obtenha github.com/gomodule/redigo/redis

Veja como você pode importar o pacote redigo em seus arquivos de projeto.

importar (
"fmt"
"github.com/gomodule/redigo/redis"
)

Você pode usar o discar método do redis pacote para se conectar a uma instância de banco de dados Redis. O método Dial recebe um tipo de conexão e um endereço e retorna a instância da conexão e um erro.

funçãoprincipal() {
// Conecte-se à instância do Redis
conn, err := redis. Discar("tcp", "localhost: 6379")

se erro != nada {
fmt. Println (err)
retornar
}

adiar conn. Fechar()
}

No principal função, você se conectou a uma instância de banco de dados Redis em execução na porta 6379 e fechou a conexão com o Fechar método da instância de conexão e um adiar declaração.

Você pode executar operações Redis usando o Fazer método da sua instância de conexão. O método Do retorna uma interface de saída e um erro.

// Defina o valor "hello" para a chave "message"
_, erro = conn. Fazer("DEFINIR", "mensagem", "olá")

se erro != nada {
fmt. Println (err)
retornar
}

Você pode recuperar uma saída de string de uma operação Redis com o Corda método do redis pacote. O método String pega a instância da operação e retorna o valor e um erro.

// Obtém o valor da chave "mensagem"
valor, erro := redis. String (conn. Fazer("PEGAR", "mensagem"))

se erro != nada {
fmt. Println (err)
retornar
}

fmt. Println (valor) // Saída: "olá"

Você pode usar bancos de dados SQL com Go

Há suporte para bancos de dados e armazenamentos de dados populares no ecossistema Go. Go fornece o pacote database/sql como parte da biblioteca padrão para trabalhar com bancos de dados SQL.