Configuração e introdução do Redis

1. Visão geral do redis

Redis (servidor de dicionário remoto, serviço de dicionário remoto) é um banco de dados não relacional ( NoSQL ). É um sistema de armazenamento de valores-chave de código aberto escrito em linguagem C (diferente do armazenamento de tabela bidimensional do MySQL)

O Redis gravará periodicamente dados atualizados no disco ou gravará operações de modificação em arquivos de registro adicionais para obter a persistência dos dados

Endereço do site oficial do Redis:

https://redis.io/

Site chinês
http://www.redis.cn/

O Redis possui as seguintes características:

  • Alto desempenho de leitura e gravação: a velocidade de leitura do Redis é 110000 vezes / s, a velocidade de gravação é 81000 vezes / s
  • Atomicidade: todas as operações do Redis são atômicas. Ao mesmo tempo, o Redis também oferece suporte à execução atômica de várias operações.
  • Suporta múltiplas estruturas de dados: string (string); lista (lista); hash (hash), set (coleção); zset (coleção ordenada)
  • Estabilidade: estrutura mestre-escravo
  • Assuntos de suporte
  • Tempo de expiração do suporte
  • Suporte para assinatura de notícias

2. Configure o redis

2.1 Baixe o pacote de instalação do redis e descompacte

# 下载安装包
cd /export/softwares
wget http://download.redis.io/releases/redis-3.2.8.tar.gz

# 解压
cd /export/softwares
tar -zxvf redis-3.2.8.tar.gz -C ../servers/

2.2 Instalar o ambiente operacional do programa C

yum -y install gcc-c++

2.3 Instale o tcl

Tcl (tool command language) é uma linguagem de script simples , usada principalmente para emitir comandos para alguns programas interativos, como editores de texto , depuradores e shells . Ele tem uma sintaxe simples e extensibilidade forte.Tcl pode criar novos procedimentos para aprimorar seus recursos de comando embutidos.

Em segundo lugar, Tcl é um pacote de biblioteca que pode ser embutido em aplicativos.A biblioteca Tcl contém um analisador , rotinas para executar comandos embutidos e funções de biblioteca que permitem expandir (definir novos procedimentos) . O programa de aplicação pode gerar e executar comandos Tcl . Os comandos podem ser gerados pelo usuário ou lidos a partir de uma entrada na interface do usuário (botão ou menu, etc.). Mas depois de receber o comando, a biblioteca Tcl o decompõe e executa os comandos embutidos, que geralmente produzem chamadas recursivas

yum  -y  install  tcl

2.4 Editar redis

# 编译
make MALLOC=libc 或 make
# 测试编译是否完成
make test 或者 make install

2.5 Modifique o arquivo de configuração

Primeiro crie as pastas de logs e redisdata

cd /export/servers/redis-3.2.8/
mkdir -p /export/servers/redis-3.2.8/logs
mkdir -p /export/servers/redis-3.2.8/redisdata
# 修改redis.conf
vim redis.conf

Precisa modificar esses lugares

bind hadoop1
# 后台服务运行
daemonize yes
pidfile /var/run/redis_6379.pid
# 日志文件路径
logfile "/export/servers/redis-3.2.8/logs/redis.log"
# 数据存放
dir /export/servers/redis-3.2.8/redisdata


2.5.1 Implementação da arquitetura de replicação mestre-escravo
# 在配置hadoop2和hadoop3时还需要加下面这条指令
slaveof hadoop1 6379
2.4.2 Implementar Arquitetura Sentinel

O Sentinel (Sentinel) é uma solução de alta disponibilidade para Redis: O sistema Sentinel que consiste em uma ou mais instâncias do Sentinel pode monitorar qualquer número de servidores master, bem como todos os servidores escravos nesses servidores master, e entrar no servidor master monitorado quando offline , um servidor escravo no servidor mestre off-line será atualizado automaticamente para um novo servidor mestre.

O mecanismo específico é mostrado na figura abaixo:

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Modificar sentinel.confarquivo

bind hadoop1
# 后台服务运行
daemonize yes
# 修改三台机器监控的主节点,hadoop1是主节点,有两台主机监控
sentinel monitor mymaster hadoop1 6379 2

2.6 Iniciar redis

cd  /export/servers/redis-3.2.8/
src/redis-server redis.conf

Não há nenhum lembrete quando o redis é iniciado, você pode usá-lo para ps -ef | grep redisverificar se ele foi iniciado

Insira a descrição da imagem aqui

2.7 Conecte-se ao redis

src/redis-cli -h hadoop1

Insira a descrição da imagem aqui

3. Persistência de redis

A persistência do Redis serve para salvar dados da memória para o disco. A persistência no redis é dividida em RDB e AOF .

3.1 Método de persistência RDB

O Redis habilita instantâneos RDB por padrão e salva dados em um arquivo rbd periodicamente. Você também pode acionar instantâneos RDB para salvar manualmente por meio de sava ou bgsave (recomendado)

  • SAVE chama diretamente rdbSave para bloquear o processo principal do Redis até que o salvamento seja concluído. Durante o bloqueio do processo principal, o servidor não pode processar nenhuma solicitação do cliente.

  • BGSAVE bifurca um processo filho , e o processo filho é responsável por chamar rdbSave e envia um sinal para o processo principal após o salvamento ser concluído, notificando que o salvamento foi concluído. O servidor Redis pode continuar a processar as solicitações do cliente durante a execução do BGSAVE .

Vantagens da solução RDB
  1. Impacto mínimo no desempenho. O Redis bifurca os processos filho ao salvar instantâneos RDB, o que dificilmente afeta a eficiência das solicitações do cliente de processamento do Redis.

  2. Cada instantâneo irá gerar um arquivo de instantâneo de dados completo, para que possa ser complementado por outros meios para salvar instantâneos em vários pontos no tempo (por exemplo, fazer backup do instantâneo às 0 horas todos os dias para outra mídia de armazenamento) como um desastre muito confiável método de recuperação.

  3. A recuperação de dados usando arquivos RDB é muito mais rápida do que usando AOF

Desvantagens da solução RDB
  1. Snapshots são gerados regularmente, portanto, alguns dados serão perdidos em travamentos do Redis.

  2. Se o conjunto de dados for muito grande e a CPU não for forte o suficiente (como uma CPU de núcleo único), o Redis pode consumir um tempo relativamente longo quando bifurca os processos filho, o que afeta a capacidade do Redis de fornecer serviços externos.

A configuração original no redis é mostrada na figura abaixo, você pode modificá-la você mesmo

Insira a descrição da imagem aqui

Você precisa reiniciar o serviço redis após modificar a configuração

# 查看redis进程
ps -ef | grep redis
# kill进程

# 启动redis
cd  /export/servers/redis-3.2.8/
src/redis-server redis.conf

3.2 Método de persistência AOF

Ao usar a persistência AOF, o Redis registrará todas as solicitações de gravação em um arquivo de log. Quando o Redis for reiniciado, todas as operações de gravação registradas no arquivo AOF serão executadas sequencialmente para garantir que os dados sejam restaurados para o mais recente.

AOF tem três configurações fsync: always / everysec / no

  • sempre: executa uma operação fsync toda vez que um log é escrito, com a mais alta segurança de dados
  • everysec: fsync uma vez a cada segundo
  • não: não execute a operação fsync, deixe o sistema liberar automaticamente
Vantagens do AOF:
  1. O mais seguro, quando appendfsync sempre está habilitado, quaisquer dados que foram gravados não serão perdidos, e quando appendfsync everysec estiver habilitado, apenas 1 segundo de dados será perdido.

  2. O arquivo AOF não será danificado no caso de uma falha de energia. Mesmo que um registro seja escrito apenas pela metade, ele pode ser facilmente reparado com a ferramenta redis-check-aof.

  3. O arquivo AOF é fácil de ler e pode ser modificado. Após algumas operações erradas de remoção de dados, desde que o arquivo AOF não seja regravado, você pode fazer backup do arquivo AOF, excluir o comando errado e restaurar os dados.

Desvantagens do AOF:
  1. Os arquivos AOF geralmente são maiores do que os arquivos RDB

  2. O consumo de desempenho é maior do que RDB

  3. A velocidade de recuperação de dados é mais lenta do que RDB

No redis, o AOF é desativado por padrão. As configurações são mostradas na figura abaixo e podem ser alteradas
Insira a descrição da imagem aqui

Para evitar que o arquivo AOF seja muito grande e torne o tempo de recuperação muito longo, o redis fornece a função de reescrita AOF, que pode reescrever o arquivo AOF e retém apenas o conjunto mínimo de operações de gravação que podem restaurar os dados para o mais recente Estado.

A reescrita AOF pode ser acionada pelo comando BGREWRITEAOF e o Redis também pode ser configurado para executar periodicamente automaticamente
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_24852439/article/details/104381216
Recomendado
Clasificación