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"-máximo-ziplist-entries" 26) ""512" 27) "hash"-máximo-ziplist-value" 28) ""64" 29) "list"-máximo-ziplist-entries" 30) ""512" 31) "list"-máximo-ziplist-value" 32) ""64" 33) "set"-máximo-intset-entries" 34) ""512" 35) "zset"-máximo-ziplist-entries" 36) ""128" 37) "zset"-máximo-ziplist-value" 38) ""64" 39) "hll"-sparse-máximo-bytes" 40) ""3000" 41) "lua"-time-limit" 42) ""5000" 43) "slowlog"-log-slower-than" 44) ""10000" 45) "latency"-monitor-threshold" 46) "0" 47) "slowlog"-máximo-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-máximo-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) ""
puede modificar el archivo redis.conf o usar CONFIG set comando para modificar la configuración.
CONFIG SET sintaxis básica del comando:
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"
la descripción de las opciones de configuración de redis.conf es la siguiente:
número de serie | opción de configuración | descripción |
---|---|---|
1 | daemonize no | Redis no se ejecuta por defecto como un demonio, se puede modificar mediante esta opción de configuración, usar yes para activar el demonio (no se admite la configuración de hilo de fondo en Windows) |
2 | pidfile /var/run/redis.pid | cuando Redis se ejecuta como un demonio, Redis por defecto escribirá el pid /var/run/el archivo redis.pid, que se puede especificar mediante pidfile |
3 | port 6379 | especificar el puerto de escucha de Redis, el puerto predeterminado es 6379,el autor explicó por qué eligió 6379 como el puerto predeterminado, porque 6379 el número correspondiente a MERZ en el botón del teléfono, mientras que MERZ se toma del nombre de la cantante italiana Alessia Merz |
4 | bind 127.0.0.1 | dirección de host asociada |
5 | timeout 300 | Después de cuántos segundos cerrar la conexión del cliente inactivo, si se especifica 0, significa que desactivar esta función |
6 | loglevel notice | Especificar el nivel de registro, Redis admite cuatro niveles: debug, verbose, notice, warning, el valor predeterminado es notice |
7 | logfile stdout | Método de registro de log, el valor predeterminado es la salida estándar, si se configura Redis para ejecutarse como un proceso de demonio y aquí se configura el método de registro de log como salida estándar, los registros se enviarán a /dev/null |
8 | databases 16 | Configurar la cantidad de bases de datos, el valor predeterminado de la base de datos es 0, se puede usar el comando SELECT para especificar el id de la base de datos en la conexión |
9 | save <seconds> <changes> El archivo de configuración predeterminado de Redis proporciona tres condiciones: save 900 1 save 300 10 save 60 10000 que representa 900 segundos (15 minutos) dentro 1 cambios,300 segundos (5 minutos) dentro 10 cambios y 6En 0 segundos 10000 cambios. | Especificar durante cuánto tiempo, cuántas veces se realizarán actualizaciones, y se sincronizarán los datos al archivo de datos, se pueden combinar múltiples condiciones |
10 | rdbcompression yes | Especificar si se comprimen los datos al almacenar en la base de datos local, el valor predeterminado es yes, Redis utiliza la compresión LZF, si se desea ahorrar tiempo de CPU, se puede desactivar esta opción, pero causará que el archivo de base de datos sea enorme |
11 | dbfilename dump.rdb | Especificar el nombre del archivo de base de datos local, el valor predeterminado es dump.rdb |
12 | dir ./ | Especificar el directorio de almacenamiento del banco de datos local |
13 | slaveof <masterip> <masterport> | Configurar la dirección IP y el puerto del servicio master cuando este equipo es el servicio slave, en el momento del inicio de Redis, se sincronizará automáticamente los datos desde el master |
14 | masterauth <master-password> | Cuando el servicio de master ha configurado la protección de contraseña, la contraseña de conexión del servicio de slave al master |
15 | requirepass foobared | Configurar la contraseña de conexión de Redis, si se configura una contraseña de conexión, el cliente debe proporcionar la contraseña a través del comando AUTH <password> al conectarse a Redis, el valor predeterminado es desactivado |
16 | maxclients 128 | Configurar el número máximo de conexiones de clientes en el mismo tiempo, el valor predeterminado es ilimitado, el número máximo de conexiones de clientes que Redis puede abrir al mismo tiempo es el número máximo de descriptores de archivos que puede abrir el proceso Redis. Si se configura maxclients 0, significa que no hay restricciones. Cuando el número de conexiones de clientes alcanza el límite, Redis cerrará nuevas conexiones y devolverá el mensaje de error max number of clients reached al cliente |
17 | maxmemory <bytes> | especificar el límite máximo de memoria de Redis, Redis carga los datos en la memoria al inicio, cuando se alcanza el límite máximo de memoria, Redis primero intenta eliminar las claves caducadas o próximas a expirar, después de que se procese este método, si aún se alcanza el límite máximo de memoria configurado, no se podrá realizar operaciones de escritura, pero se podrán realizar operaciones de lectura. El nuevo mecanismo vm de Redis almacenará las claves en la memoria, mientras que los valores se almacenarán en el área de intercambio |
18 | appendonly no | especificar si se realiza un registro de archivo después de cada operación de actualización, Redis escribe datos en el disco de manera asincrónica por defecto, si no se habilita, podría perderse un período de tiempo de datos en caso de apagado inesperado. Porque el archivo de sincronización de datos de redis es sincronizado según las condiciones de save mencionadas anteriormente, por lo que algunos datos solo existirán en la memoria durante un período de tiempo. El valor predeterminado es no |
19 | appendfilename appendonly.aof | especificar el nombre del archivo de registro de actualización, el valor predeterminado es appendonly.aof |
20 | appendfsync cada segundo | especificar las condiciones del registro de actualización, hay un total de 3 valores opcionales:
|
21 | vm-habilitado no | especificar si se habilita el mecanismo de memoria virtual, el valor predeterminado es no, simplemente介绍一下, el mecanismo VM almacena los datos en paginas, Redis swapa las páginas de acceso menor, es decir, los datos fríos, al disco, mientras que las páginas de acceso más alto se intercambian automáticamente de disco a memoria (en los artículos posteriores analizaré en detalle el mecanismo VM de Redis) |
22 | vm-intercambio-archivo /tmp/redis.swap | ruta del archivo de memoria virtual, el valor predeterminado es /tmp/redis.swap, no se puede compartir entre múltiples ejemplos de Redis |
23 | vm-máximo-memoria 0 | colocar todos los que son mayores de vm-máximo-los datos de memoria se almacenan en la memoria virtual, sin importar vm-máximo-cuando se establece el tamaño de memoria, todos los datos de índice son almacenados en memoria (los datos de índice de Redis son las claves), lo que significa que cuando vm-máximo-cuando se establece en 0 la configuración de memoria, realmente todos los valores existen en el disco. El valor predeterminado es 0 |
24 | vm-page-tamaño 32 | Los archivos de intercambio de Redis se han dividido en muchas páginas, un objeto puede guardarse en múltiples páginas, pero una página no puede ser compartida por múltiples objetos, vm-page-tamaño de página debe establecerse según el tamaño de los datos almacenados, el autor recomienda que si se almacenan muchos objetos pequeños, el tamaño de página mejor sea 32 o 64bytes; si se almacenan grandes objetos, se puede usar una página más grande, si no está seguro, utilice el valor por defecto |
25 | vm-pages 134217728 | Establecer el número de páginas en el archivo de swap, dado que la tabla de páginas (un tipo de bitmap que representa si una página está libre o en uso) se coloca en memoria, en el disco cada 8 pages consumirán 1de memoria byte. |
26 | vm-máximo-hilos 4 | Establecer el número de hilos para acceder a archivos de swap, no debe superar el número de núcleos de la máquina, si se establece en 0, todas las operaciones sobre archivos de swap serán secuenciales, lo que podría causar retrasos prolongados. El valor por defecto es4 |
27 | glueoutputbuf sí | Establecer si se deben combinar paquetes más pequeños en un solo paquete al responder al cliente, por defecto está activado |
28 | hash-máximo-zipmap-entradas 64 hash-máximo-zipmap-valor 512 | Especificar que, cuando se exceda una cierta cantidad o cuando el número máximo de elementos exceda un valor crítico, se utilice un algoritmo de hash especial |
29 | activerehashing sí | Especificar si se activa la reset de hash, por defecto está activado (se presentará el algoritmo de hash de Redis en el siguiente capítulo) |
30 | include /path/to/local.conf | Especificar un archivo de configuración que incluya otros, se puede usar el mismo archivo de configuración entre múltiples ejemplos de Redis en el mismo host, y cada ejemplo tiene su propio archivo de configuración específico |