English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Configuración de Redis

Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。

你可以通过 CONFIG 命令查看或设置配置项。

sintaxis

Redis CONFIG 命令格式如下:

redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

ejemplo en línea

redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"

使用 * 号获取所有配置项:

ejemplo en línea

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) ""

editar la configuración

puede modificar el archivo redis.conf o usar CONFIG set comando para modificar la configuración.

sintaxis

CONFIG SET sintaxis básica del comando:

redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

ejemplo en línea

redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"

descripción de los parámetros

la descripción de las opciones de configuración de redis.conf es la siguiente:

número de serieopción de configuracióndescripció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:

  • norepresenta que el sistema operativo sincroniza los datos de caché al disco (rápido)

  • siemprerepresenta que después de cada operación de actualización se llama manualmente a fsync() para escribir los datos en el disco (lento, seguro)

  • cada segundo:representa la sincronización una vez por segundo (compromiso, valor predeterminado)

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