From e09e8cfaa6d958a83ce493367228050ca8b38d00 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Wed, 30 Oct 2019 14:44:09 +0100 Subject: [PATCH] =?UTF-8?q?Redis=20:=20ajout=20d'infos=20sur=20la=20gestio?= =?UTF-8?q?n=20de=20la=20m=C3=A9moire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoRedis.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/HowtoRedis.md b/HowtoRedis.md index a5a7ba99..2bd9c010 100644 --- a/HowtoRedis.md +++ b/HowtoRedis.md @@ -75,6 +75,8 @@ maxclients 4096 maxmemory 104857600 ~~~ +**Note importante**: la valeur de `maxmemory` indique la quantité maximale de mémoire utilisable, au delà de laquelle Redis applique une politique. Par défaut il s'agit de `noeviction`. Voir plus bas pour plus de détails. + La plupart des options sont reconfigurables en mode CLI via la commande `CONFIG SET`. La liste des arguments peut être listée : @@ -100,6 +102,17 @@ Pour écouter sur plusieurs interfaces : bind 127.0.0.1 192.0.32.42 ~~~ +### 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 : + +* `noeviction` (par défaut) : Redis ne supprime jamais de clé existante et provoque des erreurs d'écriture. +* `allkeys-lru` : Redis supprime les clés selon l'algorythme LRU (_least recently used_ ; moins récemment utilisé). +* `volatile-ttl` : Redis supprime les clés qui ont leur expiration la plus proche. + +Lorsque Redis est utilisé exclusivement pour du cache, il est conseillé de choisir `allkeys-lru`. +Lorsque les données stockées dans Redis ne doivent surtout pas risquer de disparaître, il faut choisir `noeviction` et gérer les éventuelles erreurs d'écriture. + ## Utilisation En mode CLI :