Configuration Redis
Le fichier de configuration Redis se trouve dans le répertoire d'installation de Redis et le nom du fichier est redis.conf.
Vous pouvez afficher ou définir des éléments de configuration via la commande CONFIG.
Syntaxe
Le format de la commande Redis CONFIG est le suivant :
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
Instance
redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
Utiliser * numéro à obtenir Tous les éléments de configuration :
Instance
redis 127.0.0.1:6379> CONFIG GET * 1) "dbfilename" 2) "dump.rdb" 3) "requirepass" 4) "" 5) "masterauth" 6) "" 7) "unixsocket" 8) "" 9) "logfile" 10) "" 11) "pidfile" 12) "/var/run/redis.pid" 13) "maxmemory" 14) "0" 15) "maxmemory-samples" 16) "3" 17) "timeout" 18) "0" 19) "tcp-keepalive" 20) "0" 21) "auto-aof-rewrite-percentage" 22) "100" 23) "auto-aof-rewrite-min-size" 24) "67108864" 25) "hash-max-ziplist-entries" 26) "512" 27) "hash-max-ziplist-value" 28) "64" 29) "list-max-ziplist-entries" 30) "512" 31) "list-max-ziplist-value" 32) "64" 33) "set-max-intset-entries" 34) "512" 35) "zset-max-ziplist-entries" 36) "128" 37) "zset-max-ziplist-value" 38) "64" 39) "hll-sparse-max-bytes" 40) "3000" 41) "lua-time-limit" 42) "5000" 43) "slowlog-log-slower-than" 44) "10000" 45) "latency-monitor-threshold" 46) "0" 47) "slowlog-max-len" 48) "128" 49) "port" 50) "6379" 51) "tcp-backlog" 52) "511" 53) "databases" 54) "16" 55) "repl-ping-slave-period" 56) "10" 57) "repl-timeout" 58) "60" 59) "repl-backlog-size" 60) "1048576" 61) "repl-backlog-ttl" 62) "3600" 63) "maxclients" 64) "4064" 65) "watchdog-period" 66) "0" 67) "slave-priority" 68) "100" 69) "min-slaves-to-write" 70) "0" 71) "min-slaves-max-lag" 72) "10" 73) "hz" 74) "10" 75) "no-appendfsync-on-rewrite" 76) "no" 77) "slave-serve-stale-data" 78) "yes" 79) "slave-read-only" 80) "yes" 81) "stop-writes-on-bgsave-error" 82) "yes" 83) "daemonize" 84) "no" 85) "rdbcompression" 86) "yes" 87) "rdbchecksum" 88) "yes" 89) "activerehashing" 90) "yes" 91) "repl-disable-tcp-nodelay" 92) "no" 93) "aof-rewrite-incremental-fsync" 94) "yes" 95) "appendonly" 96) "no" 97) "dir" 98) "/home/deepak/Downloads/redis-2.8.13/src" 99) "maxmemory-policy" 100) "volatile-lru" 101) "appendfsync" 102) "everysec" 103) "save" 104) "3600 1 300 100 60 10000" 105) "loglevel" 106) "notice" 107) "client-output-buffer-limit" 108) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" 109) "unixsocketperm" 110) "0" 111) "slaveof" 112) "" 113) "notify-keyspace-events" 114) "" 115) "bind" 116) ""
Modifier la configuration
Vous pouvez la modifier en modifiant le fichier redis.conf ou en utilisant le CONFIG set configuration de la commande.
Syntaxe
CONFIG SETSyntaxe de commande de base :
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
Exemple
redis 127.0.0.1:6379> CONFIG SET loglevel "notice" OK redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
Description du paramètre
La description de l'élément de configuration Redis.conf est la suivante :
1. Redis ne s'exécute pas en tant que processus démon par défaut. Vous pouvez modifier cet élément de configuration et utiliser yes pour activer le processus démon
. daemonize no
2. Lorsque Redis s'exécute en tant que processus démon, Redis écrira le pid dans le fichier /var/run/redis.pid par défaut, ce qui peut être spécifié via pidfile
pidfile /var/run/redis.pid
3. Spécifiez le port d'écoute Redis, le port par défaut est 6379, l'auteur dans un de ses articles de blog explique pourquoi 6379 est choisi comme port par défaut, car 6379 est le numéro correspondant à MERZ sur le bouton du téléphone, et MERZ est tiré du nom de la chanteuse italienne Alessia Merz
port 6379
4. Lier l'adresse de l'hôte
lier 127.0.0.1
5. Combien de temps le client sera-t-il inactif ? Ensuite, fermez la connexion, si spécifié comme 0, cela signifie fermer la fonction
timeout 300
6. Spécifiez le niveau de journalisation, Redis prend en charge un total de quatre niveaux : debug, détaillé, notification, avertissement, la valeur par défaut est détaillée
loglevel verbeux
7. Mode de journalisation, la valeur par défaut est la sortie standard, si Redis est configuré pour s'exécuter en mode démon et que le mode de journalisation est configuré comme sortie standard, le journal sera envoyé à /dev/ null
logfile stdout
8 Définissez le nombre de bases de données par défaut. Vous pouvez utiliser l'option SELECT <dbid> commande pour spécifier l'identifiant de la base de données sur la connexion.
bases de données 16
9. pour synchroniser les données avec le fichier de données. Vous pouvez faire correspondre plusieurs conditions
enregistrer <secondes>
Trois conditions sont fourni dans le fichier de configuration par défaut de Redis :
save 900 1
économisez 300 10
économisez 60 10000
signifie respectivement 900 secondes ( 1 changement en 15 minutes), 10 changements en 300 secondes (5 minutes) et 10 000 changements en 60 secondes.
10. Spécifiez s'il faut compresser les données lors de leur stockage dans la base de données locale. La valeur par défaut est oui. Redis utilise la compression LZF. cette option, mais cela entraînera une énorme corruption du fichier de base de données
rdbcompression yes
11. la valeur par défaut est dump.rdb
dbfilename dump.rdb
12 Spécifiez le répertoire de stockage de la base de données locale
dir ./
13. Définissez le moment où la machine locale sert l'esclave, définissez l'adresse IP et le port du service maître. Lorsque Redis démarre, il synchronise automatiquement les données. du maître
esclave de <masterip> <masterport>
14. service esclave pour se connecter au maître
masterauth <master-password>
15. Définissez le mot de passe de connexion Redis. est configuré, le client doit fournir le mot de passe via la commande AUTH <password> lors de la connexion à Redis. Il est fermé par défaut
requirepass foobared<. 🎜>16. Définissez le nombre maximum de connexions client en même temps, la valeur par défaut est illimitée, le nombre de connexions client que Redis peut ouvrir en même temps. C'est le nombre maximum de descripteurs de fichiers qui peuvent être ouverts par le processus Redis Si maxclients est défini sur 0, cela signifie qu'il n'y a pas de limite. Lorsque le nombre de connexions client atteint la limite, Redis fermera la nouvelle connexion et renverra le message d'erreur du nombre maximum de clients atteint au client
maxclients 12817. Spécifiez la limite de mémoire maximale de Redis chargera les données dans la mémoire au démarrage. Après avoir atteint la mémoire maximale, Redis essaiera d'abord d'effacer la clé expirée ou sur le point d'expirer. traité, il le sera toujours. Une fois le paramètre de mémoire maximum atteint, les écritures ne sont plus possibles, mais les lectures sont toujours possibles. Le nouveau mécanisme vm de Redis stockera la clé en mémoire et la valeur dans la zone d'échange
maxmemory <bytes>18. Spécifiez s'il faut se connecter après chaque opération de mise à jour. Redis écrit les données sur le disque de manière asynchrone par défaut. S'il n'est pas activé, cela peut entraîner une perte de données pendant un certain temps lors d'une panne de courant. Étant donné que Redis synchronise lui-même les fichiers de données selon les conditions de sauvegarde ci-dessus, certaines données n'existeront en mémoire que pendant un certain temps. La valeur par défaut est no appendonly no 19. Spécifiez le nom du fichier journal de mise à jour, la valeur par défaut est appendonly.aof appendfilename appendonly.aof 20. Spécifiez les conditions du journal de mise à jour, il y a 3 valeurs facultatives : appendfsync Everysec 21. Spécifiez s'il faut activer le mécanisme de mémoire virtuelle. La valeur par défaut est non. Présentez brièvement, le mécanisme de la VM stocke les données dans des pages et Redis le fera. utilisez les pages avec moins d'accès comme données froides. Échangez sur le disque, et les pages fréquemment consultées sont automatiquement transférées du disque vers la mémoire (j'analyserai attentivement le mécanisme de la VM de Redis dans un article ultérieur) VM-enabled no 22 Chemin du fichier de mémoire virtuelle, la valeur par défaut est /tmp/redis.swap, qui ne peut pas être partagée par plusieurs instances Redis vm-swap-file / tmp/redis.swap 23. Stockez toutes les données supérieures à vm-max-memory dans la mémoire virtuelle. quelle que soit la taille de vm-max-memory, toutes les données d'index sont stockées en mémoire (les données d'index de Redis sont des clés), c'est-à-dire que lorsque vm-max-memory est défini sur 0, toutes les valeurs existent réellement. sur le disque. La valeur par défaut est 0 vm-max-memory 0 24. Le fichier d'échange Redis est divisé en plusieurs pages et un objet peut être divisé en plusieurs pages. être enregistré dans Sur plusieurs pages, mais une page ne peut pas être partagée par plusieurs objets. vm-page-size est défini en fonction de la taille des données stockées. L'auteur recommande que si de nombreux petits objets sont stockés, il est préférable de définir la taille de la page. à 32 ou 64 octets ; Si vous stockez des objets très volumineux, vous pouvez utiliser une page plus grande. Si vous n'êtes pas sûr, utilisez la valeur par défaut vm-page-size 32<. 🎜> vm-pages 134217728 26. Définissez le nombre de threads accédant au fichier d'échange. Il est préférable de ne pas dépasser le nombre de cœurs de la machine. S'il est défini sur 0, toutes les opérations sur les fichiers d'échange sont en série et peuvent entraîner un long retard. La valeur par défaut est 4 vm-max-threads 4 27. Définissez s'il faut inclure des paquets plus petits lors de la réponse au client. un paquet et envoyé, la valeur par défaut est activée glueoutputbuf yes 28. Spécifiez quand plus d'un certain nombre ou le plus grand élément dépasse un. certain Lorsque la valeur critique est atteinte, un algorithme de hachage spécial est utilisé hash-max-zipmap-entries 64 hash-max-zipmap-value 512 29. Spécifiez s'il faut activer le hachage de réinitialisation, la valeur par défaut est activée (plus de détails seront introduits plus tard lors de l'introduction de l'algorithme de hachage Redis) activerehashing yes 30. Spécifiez d'inclure d'autres fichiers de configuration, vous pouvez utiliser le même fichier de configuration entre plusieurs instances Redis sur le même hôte. , et en même temps Chaque instance possède son propre fichier de configuration spécifique include /path/to/local.conf
no : Indique que le système d'exploitation synchronise le cache de données sur le disque (rapide)
toujours : Indique l'appel manuel de fsync() pour écrire les données sur le disque après chaque opération de mise à jour (lent, Sécurité)
everysec : Indique la synchronisation une fois par seconde (compromis, valeur par défaut)