English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。
你可以通过 CONFIG 命令查看或设置配置项。
Redis CONFIG 命令格式如下:
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
使用 * 号获取所有配置项:
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"-最大-ziplist-entries" 26) "512" 27) "hash"-最大-ziplist-value" 28) "64" 29) "list"-最大-ziplist-entries" 30) ""512" 31) "list"-最大-ziplist-value" 32) "64" 33) "set"-最大-intset-entries" 34) "512" 35) "zset"-最大-ziplist-entries" 36) "128" 37) "zset"-最大-ziplist-value" 38) "64" 39) "hll"-sparse-最大-bytes" 40) ""3000" 41) "lua"-time-limit" 42) "5000" 43) "slowlog"-log-slower-than" 44) "10000" 45) "latency"-monitor-threshold" 46) "0" 47) "slowlog"-最大-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-至-write" 70) "0" 71) "min"-slaves-最大-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) ""
Vous pouvez modifier le fichier redis.conf ou utiliser CONFIG set Commande pour modifier la configuration.
CONFIG SET Grammaire de base de la commande :
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
redis 127.0.0.1:6379> CONFIG SET loglevel "notice" OK redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
Les explications des options de configuration de redis.conf sont les suivantes :
Numéro | Option de configuration | Description |
---|---|---|
1 | daemonize no | Redis n'est pas par défaut exécuté en mode démon, cela peut être modifié via cette option de configuration, utiliser yes pour activer le démon (la configuration de la ligne de thread de démon n'est pas prise en charge sur Windows) |
2 | pidfile /var/run/redis.pid | Lorsque Redis fonctionne en mode démon, Redis écrit par défaut le pid dans /var/run/le fichier redis.pid, qui peut être spécifié via pidfile |
3 | port 6379 | Spécifier le port d'écoute Redis, le port par défaut étant 6379,l'auteur a expliqué pourquoi il a choisi 6379 En tant que port par défaut, car 6379 Le numéro correspondant à MERZ sur le pavé tactile du téléphone, tandis que MERZ est pris du nom de la chanteuse italienne Alessia Merz |
4 | bind 127.0.0.1 | Adresse de l'hôte liée |
5 | timeout 300 | Lorsque le client est inactif pendant combien de secondes avant de fermer la connexion, si spécifié à 0, cela signifie désactiver cette fonction |
6 | loglevel notice | Spécifier le niveau de journalisation, Redis prend en charge quatre niveaux : debug, verbose, notice, warning, par défaut notice |
7 | logfile stdout | Mode de journalisation, par défaut sortie standard, si Redis est configuré pour exécuter en mode démon et que le mode de journalisation est configuré pour la sortie standard, les journaux seront envoyés à /dev/null |
8 | databases 16 | Configurer le nombre de bases de données, la base de données par défaut est 0, vous pouvez utiliser la commande SELECT pour spécifier l'ID de la base de données connectée |
9 | save <seconds> <changes> Le fichier de configuration par défaut de Redis fournit trois conditions : save 900 1 save 300 10 save 60 10000 ce qui signifie 900 secondes (15 minutes) y compris 1 modifications,300 secondes (5 minutes) y compris 10 modifications ainsi que 6Dans 0 secondes 10000 modifications. | Spécifier pendant combien de temps, combien de fois les opérations de mise à jour doivent être effectuées avant de synchroniser les données dans le fichier de données, plusieurs conditions peuvent être combinées |
10 | rdbcompression yes | Spécifier si les données doivent être compressées lors de l'enregistrement dans la base de données locale, par défaut yes, Redis utilise la compression LZF, si vous souhaitez économiser du temps CPU, vous pouvez désactiver cette option, mais cela entraînera que le fichier de base de données deviendra énorme |
11 | dbfilename dump.rdb | Spécifier le nom du fichier de base de données locale, la valeur par défaut est dump.rdb |
12 | dir ./ | Spécifier le répertoire de stockage de la base de données locale |
13 | slaveof <masterip> <masterport> | Configurer l'adresse IP et le port du service master lorsque le système local est un service slave, lors du démarrage de Redis, il synchronisera automatiquement les données avec le master |
14 | masterauth <master-password> | Lorsque le service master est configuré avec une protection par mot de passe, le mot de passe de connexion du service slave au master |
15 | requirepass foobared | Configurer le mot de passe de connexion Redis, si un mot de passe de connexion est configuré, le client doit fournir le mot de passe en utilisant la commande AUTH <mot de passe> lors de la connexion à Redis, par défaut désactivé |
16 | maxclients 128 | Définir le nombre maximum de connexions client en même temps, par défaut sans restriction, le nombre de connexions client que Redis peut ouvrir en même temps est le nombre maximum de descripteurs de fichiers que le processus Redis peut ouvrir. Si maxclients est configuré à 0, cela signifie qu'il n'y a pas de restriction. Lorsque le nombre de connexions client atteint la limite, Redis ferme les nouvelles connexions et renvoie le message d'erreur 'max number of clients reached' au client |
17 | maxmemory <bytes> | Spécifiez la limite maximale de mémoire de Redis, Redis charge les données en mémoire au démarrage, une fois que la mémoire maximale est atteinte, Redis essaie d'abord de supprimer les Key expirées ou qui vont expirer, après que cette méthode est traitée, si elle atteint toujours la limite de mémoire définie, elle ne peut plus écrire, mais elle peut toujours lire |
18 | appendonly non | Spécifiez si le journal des mises à jour doit être enregistré après chaque opération de mise à jour, par défaut Redis écrit les données sur le disque de manière asynchrone, si cela n'est pas activé, cela pourrait entraîner la perte de données pendant une période après une panne de courant. Comme le fichier de synchronisation de données de redis lui-même est synchronisé selon les conditions save ci-dessus, certains données ne peuvent exister que dans la mémoire pendant un certain temps. La valeur par défaut est non |
19 | appendfilename appendonly.aof | Spécifiez le nom du fichier de journal de mise à jour, par défaut c'est appendonly.aof |
20 | appendfsync everysec | Spécifiez les conditions du journal de mise à jour, il y a 3 valeurs optionnelles :
|
21 | 虚拟内存-activé non | Spécifiez si le mécanisme de mémoire virtuelle doit être activé, la valeur par défaut est non, je vais expliquer simplement, le mécanisme VM stocke les données en pages, Redis swap les pages d'accès rare, c'est-à-dire les données froides, sur le disque, et les pages d'accès fréquent sont automatiquement transférées en mémoire depuis le disque (je vais analyser en détail le mécanisme VM de Redis dans les articles à venir) |
22 | 虚拟内存-swap-file /tmp/redis.swap | Le chemin du fichier de mémoire virtuelle, la valeur par défaut est /tmp/redis.swap, il ne peut pas être partagé par plusieurs exemples Redis |
23 | 虚拟内存-最大-mémoire 0 | Toutes les pages qui sont plus grandes que vm-最大-Les données de mémoire sont stockées dans la mémoire virtuelle, peu importe vm-最大-La taille de la mémoire configurée, toutes les données d'index sont stockées en mémoire (les données d'index de Redis sont les keys), ce qui signifie que, lorsque vm-最大-Lorsque la configuration mémoire est définie sur 0, cela signifie que tous les valeurs existent sur le disque. La valeur par défaut est 0 |
24 | 虚拟内存-页-taille 32 | Les fichiers d'échange Redis sont divisés en de nombreuses pages, un objet peut être stocké sur plusieurs pages, mais une page ne peut pas être partagée par plusieurs objets, vm-页-大小是根据存储的数据大小来设定的,作者建议如果存储很多小对象,页大小最好设置为 32 或者 64字节;如果存储很大大对象,则可以使用更大的页,如果不确定,就使用默认值 |
25 | 虚拟内存-页 134217728 | 设置swap文件中的页数量,由于页表(一种表示页面空闲或使用的位图)是在放在内存中的,在磁盘上每 8 个页将消耗 1字节的内存。 |
26 | 虚拟内存-最大-线程 4 | 设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4 |
27 | glueoutputbuf yes | 设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启 |
28 | 哈希-最大-zipmap-条目 64 哈希-最大-zipmap-值 512 | 指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法 |
29 | activerehashing yes | 指定是否激活重置哈希,默认为开启(后面在介绍Redis的哈希算法时具体介绍) |
30 | 包含 /路径/至/local.conf | 指定包含其他配置文件,可以在同一主机上多个Redis示例之间使用同一份配置文件,而同时各个示例又拥有自己的特定配置文件 |