Ajout "info memory", déplacement et fusion section Configuration à chaud
This commit is contained in:
parent
3c61c0c552
commit
47db59663d
|
@ -70,11 +70,17 @@ maxmemory 104857600
|
||||||
|
|
||||||
**Note importante**: la valeur de `maxmemory` indique la quantité maximale de mémoire utilisable, au delà de laquelle Redis applique une [politique spécifique](#politique-sur-la-mémoire). Par défaut il s'agit de `noeviction`. Voir plus bas pour plus de détails.
|
**Note importante**: la valeur de `maxmemory` indique la quantité maximale de mémoire utilisable, au delà de laquelle Redis applique une [politique spécifique](#politique-sur-la-mémoire). 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`.
|
Pour choisir la bonne valeur de `maxmemory`, on peut s'aider de la commande Redis `INFO MEMORY` (Redis < 4) ou `MEMORY STATS` (Redis >= 4).
|
||||||
|
|
||||||
|
|
||||||
|
### Configuration à chaud
|
||||||
|
|
||||||
|
La plupart des options sont reconfigurables à chaud en mode CLI via la commande `CONFIG SET`.
|
||||||
La liste des arguments peut être listée :
|
La liste des arguments peut être listée :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
redis> CONFIG get *
|
# redis-cli
|
||||||
|
redis> CONFIG GET *
|
||||||
1) "dir"
|
1) "dir"
|
||||||
2) "/var/lib/redis"
|
2) "/var/lib/redis"
|
||||||
3) "dbfilename"
|
3) "dbfilename"
|
||||||
|
@ -87,6 +93,20 @@ redis> CONFIG get *
|
||||||
10) "0"
|
10) "0"
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
Par exemple, pour passer le paramètre `maxmemory` à 1G :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# redis-cli
|
||||||
|
redis> AUTH <PASSWORD>
|
||||||
|
OK
|
||||||
|
redis> CONFIG SET maxmemory 1024000000
|
||||||
|
OK
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Attention : Si on veut que la configuration soit persistante, il faut également mettre à jour le paramètre dans `/etc/redis/redis.conf`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### bind
|
### bind
|
||||||
|
|
||||||
Pour écouter sur plusieurs interfaces :
|
Pour écouter sur plusieurs interfaces :
|
||||||
|
@ -97,9 +117,10 @@ bind 192.0.32.42 127.0.0.1
|
||||||
|
|
||||||
**Attention** : si on fait un `bind` sur plusieurs IP, il faut que la première de la liste soit l'IP publique du serveur. Par exemple : `bind 192.0.32.42 127.0.0.1`
|
**Attention** : si on fait un `bind` sur plusieurs IP, il faut que la première de la liste soit l'IP publique du serveur. Par exemple : `bind 192.0.32.42 127.0.0.1`
|
||||||
|
|
||||||
### 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.
|
### Réglage du noyau
|
||||||
|
|
||||||
|
Il est recommandé, surtout pour 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
|
# cat /etc/sysctl.d/evolinux-redis.conf
|
||||||
|
@ -109,9 +130,10 @@ vm.overcommit_memory=1
|
||||||
# sysctl vm.overcommit_memory=1
|
# sysctl vm.overcommit_memory=1
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
### Politique sur la mémoire
|
### 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 :
|
Lorsqu'on définit une limite de mémoire disponible pour Redis (paramètre `maxmemory`, en octets, 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.
|
* `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é).
|
* `allkeys-lru` : Redis supprime les clés selon l'algorythme LRU (_least recently used_ ; moins récemment utilisé).
|
||||||
|
@ -121,21 +143,6 @@ Lorsque Redis est utilisé exclusivement pour du cache, il est conseillé de cho
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|
||||||
### Configuration à chaud
|
|
||||||
|
|
||||||
Il est pssible de configurer les paramètres de Redis à chaud. Par exemple, pour passer le paramètre `maxmemory` à 1G :
|
|
||||||
|
|
||||||
~~~
|
|
||||||
# redis-cli
|
|
||||||
> AUTH <PASSWORD>
|
|
||||||
OK
|
|
||||||
> CONFIG SET maxmemory 1024000000
|
|
||||||
OK
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Attention : Si on veut que la configuration soit persistante, il faut également mettre à jour le paramètre dans `/etc/redis/redis.conf`.
|
|
||||||
|
|
||||||
|
|
||||||
## Utilisation
|
## Utilisation
|
||||||
|
|
||||||
En mode CLI :
|
En mode CLI :
|
||||||
|
|
Loading…
Reference in a new issue