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-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) "porta" 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) "max clients" 64) "4064" 65) "periodo di supervisione" "0" "slave-priority" "100" "min-slaves-to-write" "0" "min-slaves-max-lag" "10" "hz" "10" "no-appendfsync-on-rewrite" "no" "slave-serve-stale-data" "yes" "slave-read-only" "yes" "stop-writes-on-bgsave-error" "yes" "daemonize" "no" "rdbcompression" "yes" "rdbchecksum" "yes" "activerehashing" "yes" "repl-disable-tcp-nodelay" "no" "aof-rewrite-incremental-fsync" "yes" "appendonly" "no" "dir" "/home/deepak/Downloads/redis-2.8.13/src" "maxmemory-policy" "volatile-lru" "appendfsync" "everysec" "save" "3600 1 300 100 60 10000" "loglevel" "notice" "client-output-buffer-limit" "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" "unixsocketperm" "0" "slaveof" "" "notify-keyspace-events" "" "bind" ""
puoi modificare il file redis.conf o utilizzare CONFIG set comando per modificare la configurazione.
CONFIG SET sintassi del comando di base:
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 spiegazione delle opzioni di configurazione di redis.conf è la seguente:
numero di sequenza | opzione di configurazione | spiegazione |
---|---|---|
1 | daemonize no | Redis non esegue di default come processo demone, puoi modificare questa impostazione tramite questa voce di configurazione, usa yes per abilitare il demone (su Windows non è supportata la configurazione del thread demone con no) |
2 | pidfile /var/run/redis.pid | quando Redis esegue come processo demone, Redis scrive di default il pid nel file /var/run/redis.pid, puoi specificare pidfile per modificarlo |
3 | port 6379 | specifica il porto di ascolto di Redis, il porto predefinito è 6379, l'autore ha spiegato nel proprio articolo perché ha scelto 6379 come porta predefinita, perché 6379 corrisponde al numero MERZ sui tasti dei telefoni, e MERZ è il nome della cantante italiana Alessia Merz |
4 | bind 127.0.0.1 | indirizzo di host collegato |
5 | timeout 300 | quando il client è inattivo per quanti secondi chiudi la connessione, se specificato come 0, significa disabilitare questa funzione |
6 | loglevel notice | specifica il livello di registrazione dei log, Redis supporta in totale quattro livelli: debug, verbose, notice, warning, predefinito è notice |
7 | logfile stdout | modalità di registrazione dei log, predefinita è l'output standard, se configuri Redis per eseguire come processo demone e qui configuri la modalità di registrazione dei log come output standard, allora i log verranno inviati a /dev/null |
8 | database 16 | imposta il numero di database, il database predefinito è 0, puoi utilizzare il comando SELECT per specificare l'id del database sulla connessione |
9 | salva <secondi> <modifiche> Il file di configurazione predefinito di Redis fornisce tre condizioni: save 900 1 save 300 10 save 60 10000 Rappresentano rispettivamente 1 modifica ogni 900 secondi (15 minuti), 10 modifiche ogni 300 secondi (5 minuti) e 10000 modifiche ogni 60 secondi. | Specificare in quanto tempo, quante operazioni di aggiornamento devono essere eseguite per sincronizzare i dati con il file di dati, possono essere combinate con più condizioni |
10 | rdbcompression yes | Specificare se compressare i dati quando memorizzati nel database locale, il valore predefinito è yes, Redis utilizza la compressione LZF, se si desidera risparmiare tempo CPU, è possibile disattivare questa opzione, ma ciò farà diventare il file del database enorme |
11 | dbfilename dump.rdb | Specificare il nome del file del database locale, il valore predefinito è dump.rdb |
12 | dir ./ | Specificare la directory di archiviazione del database locale |
13 | slaveof <masterip> <masterport> | Impostare l'indirizzo IP e la porta del servizio master quando questo computer è in modalità slave, durante l'avvio di Redis, eseguirà automaticamente la sincronizzazione dei dati dal master |
14 | masterauth <master-password> | Quando il servizio master è stato impostato con la protezione della password, la password di connessione del servizio slave al master |
15 | requirepass foobared | Impostare la password di connessione Redis, se è stata configurata una password di connessione, il client deve fornire la password tramite il comando AUTH <password> quando si connette a Redis, il valore predefinito è disattivato |
16 | maxclients 128 | Impostare il numero massimo di connessioni client contemporanee, il valore predefinito è illimitato, il numero massimo di connessioni client che Redis può aprire contemporaneamente è il numero massimo di descrittori di file che può aprire il processo Redis, se viene impostato maxclients 0, significa che non ci sono limiti. Quando il numero di connessioni client raggiunge il limite, Redis chiuderà nuove connessioni e invierà un messaggio di errore max number of clients reached al client |
17 | maxmemory <bytes> | Specificare il limite massimo di memoria Redis, Redis caricherà i dati in memoria durante l'avvio, una volta raggiunto il limite massimo di memoria, Redis tenterà prima di cancellare le chiavi scadute o prossime alla scadenza, dopo che questo metodo è stato trattato, se ancora raggiunge il limite massimo di memoria impostato, non sarà possibile eseguire operazioni di scrittura, ma sarà possibile eseguire operazioni di lettura. Il nuovo meccanismo vm di Redis, metterà le chiavi in memoria, i valori saranno memorizzati nella zona di swap |
18 | appendonly no | Specifica se registrare il log di aggiornamento dopo ogni operazione di aggiornamento, Redis scrive i dati sul disco in modo asincrono di default, se non viene attivato, potrebbe causare la perdita di dati per un periodo di tempo dopo un'interruzione di corrente. Poiché il file di sincronizzazione dei dati di Redis stesso è sincronizzato secondo le condizioni di save indicate sopra, alcuni dati esistono solo nella memoria per un periodo di tempo. Il valore predefinito è no |
19 | appendfilename appendonly.aof | Specifica il nome del file di log di aggiornamento, il valore predefinito è appendonly.aof |
20 | appendfsync everysec | Specifica le condizioni di registrazione del log di aggiornamento, ci sono 3 valori opzionali:
|
21 | vm-enabled no | Specifica se abilitare il meccanismo di memoria virtuale, il valore predefinito è no, per farla breve, il meccanismo VM memorizza i dati in pagine, Redis sposta le pagine di accesso meno frequente, ossia i dati freddi, sul disco, mentre le pagine di accesso frequente vengono automaticamente trasferite dalla memoria al disco (in un articolo successivo analizzerò in dettaglio il meccanismo VM di Redis) |
22 | vm-swap-file /tmp/redis.swap | Il percorso del file di memoria virtuale, il valore predefinito è /tmp/redis.swap, non può essere condiviso da più esempi di Redis |
23 | vm-max-memory 0 | Tutti i dati superiori a vm-max-memory vengono memorizzati nella memoria virtuale, indipendentemente dalla dimensione impostata di vm-max-memory, tutti i dati degli indici sono memorizzati in memoria (i dati degli indici di Redis sono le chiavi), quindi quando vm-max-memory viene impostato a 0, tutti i valori esistono effettivamente sul disco. Il valore predefinito è 0 |
24 | vm-page-size 32 | Il file di swap di Redis è diviso in molte pagine, un oggetto può essere salvato su più pagine, ma una pagina non può essere condivisa da più oggetti, il valore di vm-page-size deve essere impostato in base alla dimensione dei dati di archiviazione, l'autore suggerisce che se si archiviano molti oggetti piccoli, la dimensione della pagina dovrebbe essere impostata su 32 o 64 bytes; se si archiviano oggetti molto grandi, si può utilizzare una pagina più grande, se non si è sicuri, utilizzare il valore predefinito |
25 | vm-pages 134217728 | Impostare il numero di pagine nel file di swap, poiché la tabella di pagine (una rappresentazione bitmap che indica se una pagina è libera o in uso) è memorizzata nella memoria, ogni 8 pagine nel disco consuma 1byte di memoria |
26 | vm-max-threads 4 | Impostare il numero di thread per accedere ai file di swap, è meglio non superare il numero di core del sistema, se impostato a 0, tutte le operazioni sui file di swap saranno seriali, potrebbe causare ritardi molto lunghi. Il valore predefinito è 4 |
27 | glueoutputbuf yes | Impostare se combinare pacchetti più piccoli in un singolo pacchetto durante la risposta al client, di default è attivato |
28 | hash-max-zipmap-entries 64 hash-max-zipmap-value 512 | Specificare se utilizzare un algoritmo di hash speciale quando superato un determinato numero di elementi o quando il numero massimo di elementi supera un valore critico |
29 | activerehashing yes | Specificare se attivare il riavvio dell'hash, di default è attivato (in seguito verrà illustrato l'algoritmo di hash di Redis) |
30 | include /path/to/local.conf | Specificare un file di configurazione da includere, può essere utilizzato lo stesso file di configurazione tra diversi esempi Redis su uno stesso host, e allo stesso tempo ciascun esempio ha il proprio file di configurazione specifico |