HowtoRedis : Compléments mémoire + maj pour Debian 10/11

This commit is contained in:
Ludovic Poujol 2022-04-12 11:28:31 +02:00
parent b550f23557
commit ffc9dc5686

View file

@ -4,44 +4,37 @@ title: Howto Redis
...
* Documentation: <https://redis.io/documentation>
* Rôle Ansible : <https://forge.evolix.org/projects/ansible-roles/repository/show/redis>
* Rôle Ansible : <https://gitea.evolix.org/evolix/ansible-roles/src/branch/stable/redis>
[Redis](https://redis.io/) est un serveur noSQL clé-valeur très stable (écrit en 2009). Une valeur peut être une chaîne de caractères, un tableau, une liste, etc. Redis tourne en mémoire, et si besoin sauvegarde de temps en temps ses données sur le disque.
## Installation
Les versions suivantes sont disponibles selon la version de Debian :
* Debian 11 (Bullseye) : Redis 6.0.16
* Debian 10 (Buster) : Redis 5.0.14
* Debian 9 (Stretch) : Redis 3.2.6
~~~
# apt install redis-server redis-tools
$ /usr/bin/redis-server -v
Redis server v=3.2.6 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=826601c992442478
Redis server v=6.0.16 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=6d95e1af3a2c082a
# systemctl status redis
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2017-09-27 16:34:26 CEST; 17h ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 24822 (redis-server)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/redis-server.service
└─24822 /usr/bin/redis-server 127.0.0.1:6379
~~~
Sous Debian Jessie, la version de Redis est 2.8.17 :
~~~
$ /usr/bin/redis-server -v
Redis server v=2.8.17 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=4c1d5710660b9479
# systemctl status redis
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled)
Active: active (running) since Thu 2017-09-28 10:01:18 CEST; 10min ago
Main PID: 4245 (redis-server)
CGroup: /system.slice/redis-server.service
└─4245 /usr/bin/redis-server 127.0.0.1:6379
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-04-12 10:29:13 CEST; 43s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 1211392 (redis-server)
Status: "Ready to accept connections"
Tasks: 5 (limit: 48115)
Memory: 7.3M
CPU: 136ms
CGroup: /system.slice/redis-server.service
└─1211392 /usr/bin/redis-server 127.0.0.1:6379
~~~
@ -102,7 +95,19 @@ Pour écouter sur plusieurs interfaces :
bind 127.0.0.1 192.0.32.42
~~~
### politique sur la mémoire
### Utilisation mémoire / Réglage Kernel
Il est recommendé, surtout pours les grosses instances redis d'activer l'overcommit au niveau du Kernel Linux. Si ce n'est pas le cas, ça peut empêcher Redis de faire ses sauvegardes.
~~~
# cat /etc/sysctl.d/evolinux-redis.conf
vm.overcommit_memory=1
# sysctl vm.overcommit_memory=1
~~~
### Politique sur la mémoire
Lorsqu'on définit une limite de mémoire disponible pour Redis (paramètre `maxmemory`, fixé à 100 Mo par défaut dans nos installations), il faut indiquer à Redis quoi faire lorsque celle-ci est épuisée (paramètre `maxmemory-policy`). Il y a plusieurs options, les plus courantes sont :