Instalação do Redis: Guia Completo

Desempenho excepcional – O Redis pode realizar até 110000 leituras por segundo e 81000 escritas por segundo.

Tipos de dados diversos – O Redis suporta operações com Strings, Listas, Hashes, Conjuntos e Conjuntos Ordenados, incluindo suporte a dados binários.

Operações atômicas – Todas as operações do Redis são atômicas, e ele também suporta a execução atômica de várias operações combinadas.

Recurrsos abundantes – O Redis também oferece suporte a publicação/assinatura, notificações, expiração de chaves e outras funcionalidades.

Instalação do Redis (versão 4.0)

Como o Redis é escrito em C++, após a extração dos arquivos, é necessário compilá-lo e instalá-lo. Potranto, o primeiro passo é instalar o compilador C++ gcc-c++ no sistema.

Instalação do compilador

1. Instalação online (com acesso à internet)


yum install -y gcc-c++

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

2. Instalação offline (sem acesso à internet)

É possível baixar os seguintes pacotes RPM de http://vault.centos.org/6.5/os/x86_64/Packages/:


ppl-0.10.2-11.el6.x86_64.rpm
ppl-devel-0.10.2-11.el6.x86_64.rpm
gmp-devel-4.3.1-7.el6_2.2.x86_64.rpm
cloog-ppl-devel-0.15.7-1.2.el6.x86_64.rpm
cpp-4.4.7-4.el6.x86_64.rpm
glibc-devel-2.12-1.132.el6.x86_64.rpm
glibc-headers-2.12-1.132.el6.x86_64.rpm
libstdc++-4.4.7-4.el6.x86_64.rpm
libstdc++-devel-4.4.7-4.el6.x86_64.rpm
gcc-4.4.7-4.el6.x86_64.rpm
gcc-c++-4.4.7-4.el6.x86_64.rpm
kernel-headers-2.6.32-431.el6.x86_64.rpm
mpfr-2.4.1-6.el6.x86_64.rpm

Instale cada pacote individualmente usando o comando:


rpm –ivh nome_do_pacote.rpm

Por fim, prepare o arquivo tar do Redis (caminho: redis-4.0.6.tar.gz):


redis-4.0.6.tar.gz

Extração do arquivo tar


tar -zxvf redis-4.0.6.tar.gz

Compilação e instalação

Entre no diretório extraído e execute os comandos de compilação e instalação (o seguinte comando executa ambas as operações):


make install PREFIX=/usr/local/redis

O caminho /usr/local/redis é o diretório de instalação do Redis, mas você pode usar qualquer nome de diretório desejado.

Métodos de inicialização do Redis (três opções)

1. Inicialização em primeiro plano

Navegue até o diretório bin da instalação do Redis e execute o arquivo redis-server:


./redis-server

A execução deste arquivo exibirá uma interface gráfica com informações como versão do Redis, bits do software, porta de escuta (6379), PID, etc., confirmando que a instalação e inicialização foram bem-sucedidas.


[root@iZwz991stxdwj560bfmadtZ src]# ./redis-server
18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started
18685:C 13 Dec 12:56:12.507 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 18685
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
18685:M 13 Dec 12:56:12.508 # Server initialized
18685:M 13 Dec 12:56:12.508 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
18685:M 13 Dec 12:56:12.508 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
18685:M 13 Dec 12:56:12.508 * Ready to accept connections

No entanto, este método de inicialização exige que a janela permaneça aberta, o que não é prático para outras operações. Pressione Ctrl + C para fechar a janela.

2. Inicialização em segundo plano

Primeiro passo: Modificar o arquivo redis.conf

Altere a configuração:


daemonize no

Para:


daemonize yes

Segundo passo: Iniciar especificando o arquivo redis.conf

Use o comando redis-server especificando o caminho do arquivo de configuração:


./redis-server /usr/local/redis-4.0.6/redis.conf

Para verificar se o Redis está em execução:


ps -aux|grep redis

3. Configuração para inicialização automática

1. Crie um diretório redis em /etc


mkdir redis

2. Copie o arquivo redis.conf para o novo diretório


cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf

3. Copie o script de inicialização do Redis


cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd

4. Edite o arquivo redisd

Adicione as seguintes linhas no início do arquivo e salve:


# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

Essas linhas indicam que o serviço Redis deve ser iniciado ou parado nos níveis de execução 2, 3, 4 e 5, com prioridade 90 para inicialização e 10 para desligamento.

5. Configure a inicialização automática do Redis

Navegue até o diretório /etc/init.d e execute o comando:


chkconfig redisd on

Agora você pode iniciar e parar o Redis usando comandos de serviço:


Iniciar: service redisd start
Parar: service redisd stop

Resolução de problemas

Se você encontrar o erro:


/var/run/redis_6379.pid exists, process is already running or crashed

Isso geralmente ocorre após desligamentos forçados ou falta de energia. Existem duas soluções:

1. Inicie usando o arquivo de configuração: redis-server /etc/redis/6379.conf

2. Execute um reinicialização suave: shutdown -r now

Tags: Redis Instalação banco de dados C++ Linux

Publicado em 6-28 22:28