Como instalar e configurar o servidor Redis no Ubuntu
Redis é um armazenamento de estrutura de dados na memória de código aberto usado como banco de dados, cache, corretor de mensagens e mecanismo de streaming. Redis é um acrônimo que significa REmote DIServidor Dicionário. É semelhante ao memcached, mas o conjunto de dados não é volátil e outros tipos de dados (como listas e conjuntos) são suportados nativamente. Redis vem com redis-cli que fornece uma interface de linha de comando simples para o servidor Redis. Este tutorial orienta você nas etapas para instalar e configurar o servidor Redis no Ubuntu. Testei este guia no servidor Ubuntu 18.04 LTS, mas este guia pode funcionar em outras distros baseadas em Ubuntu/Debian.
Pré-requisitos
Para que o Redis funcione de forma eficiente, você deve ajustar seu servidor Ubuntu com as seguintes configurações.
1. Primeiro, defina a configuração overcommit memory do kernel Linux como 1. Para fazer isso, adicione vm.overcommit_memory=1
a /etc/sysctl.conf
. Em seguida, reinicie ou execute o comando sysctl vm.overcommit_memory=1
para ativar a configuração. Definir overcommit_memory
como 1
diz ao Linux para relaxar e executar a bifurcação de uma forma de alocação mais otimista, e isso é realmente o que você deseja para o Redis.
2. Em seguida, certifique-se de que o recurso Transparent Huge Pages do kernel Linux não afete o uso e a latência da memória do Redis. Para fazer isso, execute este comando:
echo never > sudo tee -a /sys/kernel/mm/transparent_hugepage/enabled
3. Certifique-se de que swap esteja ativado e que o tamanho do arquivo de swap seja igual à quantidade de memória em seu sistema. Se o seu sistema Linux não tiver swap configurado e sua instância do Redis consumir acidentalmente muita memória, o Redis poderá travar quando estiver sem memória ou o OOM killer do kernel do Linux poderá encerrar o processo do Redis. Quando a troca está habilitada, você pode detectar picos de latência e agir sobre eles.
Instale o servidor Redis no Ubuntu
O Redis Server está disponível nos repositórios padrão do Ubuntu. Portanto, você pode instalá-lo usando o gerenciador de pacotes apt-get.
Execute o seguinte comando para instalar o Redis Server em seu sistema Ubuntu:
sudo apt-get install redis-server
Após a instalação, verifique se o serviço Redis Server foi iniciado ou não com o comando:
sudo systemctl status redis-server
A saída de exemplo seria:
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-06-02 12:40:26 IST; 6s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 2623 (redis-server)
Tasks: 4 (limit: 2322)
CGroup: /system.slice/redis-server.service
└─2623 /usr/bin/redis-server 127.0.0.1:6379
Jun 02 12:40:26 ubuntuserver systemd[1]: Starting Advanced key-value store...
Jun 02 12:40:26 ubuntuserver systemd[1]: redis-server.service: Can't open PID file /var/run/red
Jun 02 12:40:26 ubuntuserver systemd[1]: Started Advanced key-value store.
Por precaução, se ainda não tiver sido iniciado, você pode iniciá-lo conforme mostrado abaixo.
sudo systemctl enable redis-server
sudo systemctl start redis-server
Para verificar a versão instalada do Redis Server, basta executar:
redis-server -v
Exemplo de resultado:
Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=1bc80a08306a3efd
Configurar o servidor Redis
O arquivo de configuração padrão do Redis é /etc/redis/redis.conf. Por padrão, o Redis escuta conexões de todas as interfaces de rede disponíveis no servidor. Também é possível escutar apenas uma ou múltiplas interfaces usando a diretiva de configuração "bind", seguida de um ou mais endereços IP.
Para fazer com que o servidor Redis ouça um endereço IP específico, edite o arquivo /etc/redis/redis.conf :
sudo vi /etc/redis/redis.conf
Encontre a seguinte linha:
bind 127.0.0.1
Altere-o conforme mostrado abaixo.
bind 192.168.43.2
Para fazer com que ele ouça vários endereços IP, altere-o como abaixo.
bind 192.168.43.2 192.168.43.3
Substitua os endereços IP pelos seus próprios valores. Em seguida, salve e feche o arquivo.
Se você estiver usando o firewall UFW, deverá permitir a porta 6379. Para fazer isso, execute:
sudo ufw allow 6379/tcp
sudo ufw reload
Reinicie o serviço Redis para aplicar as alterações.
sudo systemctl restart redis-server
Configurando Redis como cache
Se você quiser usar o Redis como um cache onde cada chave terá uma expiração definida, você pode usar o seguinte exemplo de configuração (assumindo um limite máximo de memória de 2 megabytes como exemplo):
maxmemory 2mb
maxmemory-policy allkeys-lru
Nesta configuração, não há necessidade de o aplicativo definir um tempo de vida para as chaves usando o comando EXPIRE
(ou equivalente), pois todas as chaves serão despejadas usando um algoritmo LRU aproximado, desde que atingiu o limite de memória de 2 megabytes.
Reinicie o serviço redis para que as alterações tenham efeito.
sudo systemctl restart redis-server
Teste o servidor Redis
Conecte-se ao servidor Redis usando redis-cli na linha de comando.
redis-cli
Agora você está conectado ao seu servidor Redis.
127.0.0.1:6379>
A partir daqui, você pode executar comandos do Redis para testar sua funcionalidade. Vejamos um exemplo simples.
127.0.0.1:6379> set test "Welcome To OSTechNix"
OK
127.0.0.1:6379> get test
"Welcome To OSTechNix"
127.0.0.1:6379>
Para sair do prompt de comando do Redis, digite exit.
127.0.0.1:6379> exit
Para saber mais sobre o uso do Redis, consulte a página de documentação oficial.
Conclusão
Neste guia, discutimos o que é servidor Redis, como instalar e configurar o servidor Redis no Ubuntu Linux. Também discutimos como configurar o Redis como cache e, por fim, mostramos as etapas para testar se o servidor Redis está funcionando conforme o esperado.
Recurso:
- Site Redis