Instalação inicial do Redis e Redis

Índice

1. Primeira introdução ao Redis

1.1.Compreender o NoSQL

1.1.1. Estruturado e não estruturado

1.1.2. Associados e não associados

1.1.3. Método de consulta

1.1.4.Transações

1.1.5. Resumo

1.2. Conheça o Redis

1.3. Instale o Redis

1.3.1. Bibliotecas dependentes

1.3.2. Carregue o pacote de instalação e descompacte-o

1.3.3.Inicialização

1.3.4.Iniciar por padrão

1.3.5. Comece especificando a configuração

1.3.6.Iniciar automaticamente após ligar


1. Primeira introdução ao Redis

Redis é um banco de dados NoSql de valor-chave. Existem duas palavras-chave aqui:

  • Tipo de valor-chave

  • NoSql

O tipo chave-valor significa que os dados armazenados no Redis são armazenados na forma de pares de chave e valor, e o valor pode estar em vários formatos, como strings, valores numéricos ou até mesmo json:

NoSql é um banco de dados muito diferente dos bancos de dados relacionais tradicionais.

1.1.Compreender o NoSQL

NoSql pode ser traduzido em banco de dados Not Only Sql (não apenas SQL) ou No Sql (não SQL). É um banco de dados especial muito diferente do banco de dados relacional tradicional, por isso também é chamado de banco de dados não relacional .

1.1.1. Estruturado e não estruturado

Os bancos de dados relacionais tradicionais são dados estruturados e cada tabela possui informações de restrições estritas: nomes de campos, tipos de dados de campos, restrições de campos, etc.

O NoSql, por outro lado, não tem restrições estritas quanto ao formato do banco de dados e geralmente é solto e de formato livre.

Pode ser do tipo chave-valor:

Também pode ser um tipo de documento:

Pode até estar em formato gráfico:

1.1.2. Associados e não associados

Muitas vezes existem relacionamentos entre tabelas em bancos de dados tradicionais, como chaves estrangeiras:

Bancos de dados não relacionais não possuem relacionamentos. Para manter relacionamentos, você deve contar com a lógica de negócios no código ou no acoplamento entre os dados:

{
  id: 1,
  name: "张三",
  orders: [
    {
       id: 1,
       item: {
     id: 10, title: "荣耀6", price: 4999
       }
    },
    {
       id: 2,
       item: {
     id: 20, title: "小米11", price: 3999
       }
    }
  ]
}

Aqui, precisamos manter a relação entre o pedido de "Zhang San" e os produtos "Honor" e "Xiaomi 11", temos que salvar redundantemente esses dois produtos no documento de pedido de Zhang San, que não é elegante o suficiente. Ainda é recomendado usar negócios para manter relacionamentos.

1.1.3. Método de consulta

Os bancos de dados relacionais tradicionais farão consultas baseadas em instruções SQL, e a sintaxe possui um padrão unificado;

A sintaxe de consulta de diferentes bancos de dados não relacionais é muito diferente e diversificada.

1.1.4.Transações

Os bancos de dados relacionais tradicionais podem atender aos princípios ACID de transação.

Os bancos de dados não relacionais geralmente não suportam transações ou não podem garantir estritamente as características do ACID e só conseguem atingir consistência básica.

1.1.5. Resumo

Além dos quatro pontos acima, também existem diferenças significativas entre os tipos relacionais e não relacionais em termos de métodos de armazenamento, escalabilidade e desempenho de consulta. Elas são resumidas a seguir:

  • Método de armazenamento

    • Os bancos de dados relacionais são armazenados em discos e haverá muita E/S de disco, o que terá um certo impacto no desempenho.

    • Para bancos de dados não relacionais, suas operações dependem mais da memória, a velocidade de leitura e gravação da memória será muito rápida e o desempenho será naturalmente melhor.

  • Escalabilidade

    • O modo de cluster de banco de dados relacional é geralmente mestre-escravo, e os dados mestre-escravo são consistentes e desempenham o papel de backup de dados, que é chamado de expansão vertical.

    • Bancos de dados não relacionais podem dividir dados e armazená-los em máquinas diferentes, salvar grandes quantidades de dados e resolver o problema de tamanho limitado de memória. É chamado de expansão horizontal.

    • Como existem relacionamentos entre tabelas em bancos de dados relacionais, a expansão horizontal trará muitos problemas às consultas de dados.

1.2. Conheça o Redis

Redis nasceu em 2009. Seu nome completo é Remote Dictionary Server, é um banco de dados NoSQL de valor-chave baseado em memória .

Recursos :

  • Tipo de valor-chave, o valor suporta uma variedade de estruturas de dados diferentes e possui funções ricas

  • Thread único, cada comando é atômico

  • Baixa latência, rápida (baseada em memória, multiplexação IO, boa codificação).

  • Suporta persistência de dados

  • Suporta clusters mestre-escravo e clusters fragmentados

  • Suporte a clientes multilíngues

Autor : Antirez

Endereço do site oficial do Redis: Redis

1.3. Instale o Redis

A maioria das empresas implanta projetos baseados em servidores Linux, e o Redis oficialmente não fornece um pacote de instalação da versão Windows. Portanto, no curso instalaremos Redis baseado em sistema Linux.

A versão Linux selecionada aqui é CentOS 7.

1.3.1. Bibliotecas dependentes

O Redis é escrito com base na linguagem C, então primeiro você precisa instalar as dependências do gcc exigidas pelo Redis:

yum install -y gcc tcl

1.3.2. Carregue o pacote de instalação e descompacte-o

Em seguida, carregue o pacote de instalação do Redis em qualquer diretório da máquina virtual:

descompactar:

tar -xzf redis-6.2.6.tar.gz

Entre no diretório redis:

进入redis目录:

Execute o comando de compilação:

make && make install

Se não houver erros, a instalação deverá ser bem-sucedida.

O caminho de instalação padrão está no /usr/local/bindiretório:

Este diretório é configurado como uma variável de ambiente por padrão, portanto, esses comandos podem ser executados em qualquer diretório. em:

  • redis-cli: é o cliente de linha de comando fornecido pelo redis

  • redis-server: é o script de inicialização do servidor redis

  • redis-sentinel: é o script de inicialização sentinela do redis

1.3.3.Inicialização

Existem muitas maneiras de iniciar o redis, como:

  • Iniciar por padrão

  • Comece com a configuração especificada

  • Iniciar automaticamente na inicialização

1.3.4.Iniciar por padrão

Após a conclusão da instalação, digite o comando redis-server em qualquer diretório para iniciar o Redis:

redis-server

 Como mostrado na imagem:

Este tipo de inicialização 前台启动bloqueará toda a janela da sessão. CTRL + CO Redis irá parar quando a janela for fechada ou pressionada. Não recomendado.

1.3.5. Comece especificando a configuração

Se quiser que o Redis 后台inicie no método, você deve modificar o arquivo de configuração do Redis, que está no pacote de instalação do redis que descompactamos antes ( /usr/local/src/redis-6.2.6), e o nome é redis.conf:

Em seguida, modifique algumas configurações no arquivo redis.conf:  

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 123321

 Outras configurações comuns do Redis:

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

Inicie o Redis:

# 进入redis安装目录 
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf

Fora de serviço:  

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u 123321 shutdown

1.3.6.Iniciar automaticamente após ligar

Também podemos configurá-lo para iniciar automaticamente na inicialização.

Primeiro, crie um novo arquivo de serviço do sistema:

vi /etc/systemd/system/redis.service

O conteúdo é o seguinte:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Em seguida, recarregue o serviço do sistema:

systemctl daemon-reload

Agora, podemos usar o seguinte conjunto de comandos para operar o redis:

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

Execute o seguinte comando para fazer o redis iniciar automaticamente na inicialização:

systemctl enable redis

Acho que você gosta

Origin blog.csdn.net/m0_62609939/article/details/130569579
Recomendado
Clasificación