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

Redis-Konfiguration

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

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

Syntax

Redis CONFIG 命令格式如下:

redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

Online-Beispiel

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

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

Online-Beispiel

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

Konfiguration bearbeiten

Sie können die redis.conf Datei bearbeiten oder CONFIG set Befehl, um die Konfiguration zu ändern.

Syntax

CONFIG SET Basis-Syntax des Befehls:

redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEUE_KONFIGURATIONSWERT

Online-Beispiel

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

Parameterbeschreibung

Die Konfigurationsoptionen von redis.conf sind wie folgt beschrieben:

NummerKonfigurationsoptionBeschreibung
1
daemonize no
Redis läuft standardmäßig nicht als Hintergrundprozess, dies kann durch diese Konfigurationsoption geändert werden, yes aktiviert den Hintergrundprozess (Windows unterstützt keine Hintergrundprozesse, die Konfiguration wird auf no gesetzt)
2
pidfile /var/run/redis.pid
Wenn Redis als Hintergrundprozess läuft, schreibt Redis standardmäßig den pid in /var/run/redis.pid Datei, die durch pidfile festgelegt werden kann
3
port 6379
den Redis-Listenport angegeben, der Standardport ist 6379,der Autor hat in einem Blogbeitrag erläutert, warum er sich für 6379 Als Standardport, weil 6379 Die Nummer, die MERZ auf der Telefon Taste entspricht, MERZ ist der Name der italienischen Sängerin Alessia Merz
4
bind 127.0.0.1
gebundene Host-Adresse
5
Zeitüberschreitung 300
Wenn der Client nach einer Inaktivität in Sekunden die Verbindung schließt, wird dies durch 0 angegeben, um die Funktion zu deaktivieren
6
loglevel notice
Specify the log recording level, Redis supports four levels in total: debug, verbose, notice, warning, the default is notice
7
logfile stdout
Log recording method, the default is standard output. If Redis is configured to run as a daemon process and the log recording method is set to standard output here, the logs will be sent to /dev/null
8
databases 16
Set the number of databases, the default database is 0, you can use the SELECT command to specify the database id on the connection
9
save <seconds> <changes>

Three conditions are provided in the default Redis configuration file:

save 900 1

save 300 10

save 60 10000

which respectively mean 900 seconds (15 minutes) in 1 changes,300 seconds (5 minutes) in 10 changes and 6In 0 seconds 10000 changes.

Specify how often, in how many update operations, the data will be synchronized to the data file, which can be combined with multiple conditions
10
rdbcompression yes
Specify whether to compress data when storing to the local database, the default is yes, Redis uses LZF compression. If you want to save CPU time, you can turn off this option, but it will cause the database file to become very large
11
dbfilename dump.rdb
Specify the local database filename, the default value is dump.rdb
12
dir ./
Specify the directory where the local database is stored
13
slaveof <masterip> <masterport>
Set the IP address and port of the master service when this machine is a slave service. When Redis starts, it will automatically synchronize data from the master
14
masterauth <master-password>
When the master service is set with password protection, the password for the slave service to connect to the master
15
requirepass foobared
Set the Redis connection password. If a connection password is configured, the client needs to provide the password through the AUTH <password> command when connecting to Redis. The default is to turn it off
16
 maxclients 128
Set the maximum number of client connections at the same time, the default is unlimited, the number of client connections that Redis can open at the same time is the maximum number of file descriptors that the Redis process can open. If maxclients is set to 0, it means no limit. When the number of client connections reaches the limit, Redis will close new connections and return the error message 'max number of clients reached' to the client
17
maxmemory <bytes>
bestimmt die maximale Speicherbegrenzung von Redis, Redis lädt Daten beim Start in den Speicher, wenn der Speicher die Maximale Größe erreicht, versucht Redis zunächst, die abgelaufenen oder demnächst ablaufenden Keys zu löschen, wenn dies nicht erfolgreich ist und der Speicher die maximale Einstellung erreicht, können keine Schreibvorgänge mehr durchgeführt werden, aber Lesevorgänge sind immer noch möglich. Der neue VM-Mechanismus von Redis speichert die Keys im Speicher und die Values im Swap-Bereich
18
appendonly nein
bestimmt, ob nach jeder Aktualisierung ein Protokoll geschrieben wird. Redis schreibt Daten standardmäßig asynchron auf die Festplatte, wenn dies nicht aktiviert wird, könnten Daten während eines Stromausfalls für eine bestimmte Zeit verloren gehen. Da der Synchronisationsdatei von redis selbst nach den obigen save-Bedingungen synchronisiert wird, könnten einige Daten für eine bestimmte Zeit nur im Speicher existieren. Der Standardwert ist nein
19
appendfilename appendonly.aof
bestimmt den Namen der Protokollierungsdatei, der Standardwert ist appendonly.aof
20
appendfsync everysec

bestimmt die Bedingungen für die Protokollierung des Aktualisierungslogs, es gibt 3 mögliche Werte sind:

  • neinbedeutet, dass der Betriebssystem die Daten in den Cache synchronisiert und diese auf die Festplatte schreibt (schnell)

  • alwaysbedeutet, dass nach jeder Aktualisierung die Funktion fsync() manuell aufgerufen wird, um Daten auf die Festplatte zu schreiben (langsam, sicher)

  • everysecbedeutet, dass alle Sekunden synchronisiert wird (ausgeglichenes Standardwert)

21
vm-enabled nein
bestimmt, ob das Mechanismus der virtuellen Speicherfunktion aktiviert wird, der Standardwert ist nein, ich werde dies einfach erläutern, der VM-Mechanismus speichert Daten pageweise, Redis swappt die Seiten mit geringerer Zugriffshäufigkeit, die als Kaltdaten bezeichnet werden, auf die Festplatte, und die Seiten mit höherer Zugriffshäufigkeit werden automatisch von der Festplatte in den Speicher umgeschaltet (ich werde im folgenden Artikel das VM-Mechanismus von Redis im Detail analysieren)
22
vm-swap-file /tmp/redis.swap
Pfad zur Datei des virtuellen Speichers, der Standardwert ist /tmp/redis.swap, kann nicht von mehreren Redis-Beispielen gemeinsam genutzt werden
23
vm-max-memory 0
alle größer als vm-max-memory-Daten in den virtuellen Speicher eingefügt werden, unabhängig davon, ob vm-max-memory so eingestellt wird, dass alle Indexdaten (die Indexdaten von Redis sind die keys) in Speicher gespeichert werden, d.h., wenn vm-max-Wenn die Einstellung für memory auf 0 gesetzt ist, bedeutet das, dass alle Werte auf der Festplatte existieren. Der Standardwert ist 0
24
vm-page-size 32
Redis Swap-Datei ist in viele Seiten unterteilt, ein Objekt kann auf mehreren Seiten gespeichert werden, aber eine Seite kann nicht von mehreren Objekten gemeinsam genutzt werden, vm-page-Die Größe muss entsprechend der Größe der zu speichernden Daten festgelegt werden. Der Autor empfiehlt, dass die Größe der Seite am besten auf gesetzt wird, wenn viele kleine Objekte gespeichert werden 32 oder 64bytes; Wenn sehr große Objekte gespeichert werden, können größere Pages verwendet werden, wenn unklar ist, wird der Standardwert verwendet
25
vm-pages 134217728
Setzt die Anzahl der Seiten in der Swap-Datei, da der Page-Table (eine Art Bitmap, die anzeigt, ob eine Seite frei oder belegt ist) im Speicher liegt, auf der Festplatte jedes 8 pages werden verbraucht 1Byte der Speicher.
26
vm-max-threads 4
Setzt die Anzahl der Threads, die auf Swap-Dateien zugreifen, es sollte nicht über die Anzahl der Prozessorkerne des Systems hinausgehen. Wenn auf 0 gesetzt, sind alle Operationen auf Swap-Dateien serialisiert, was zu einer längeren Verzögerung führen kann. Standardwert ist4
27
glueoutputbuf yes
Setzt, ob kleinere Pakete bei der Antwort an den Client zu einem Paket zusammengefasst werden, Standard ist ein
28
hash-max-zipmap-entries 64
hash-max-zipmap-value 512
Bestimmt, dass eine spezielle Hash-Algorithmen verwendet wird, wenn eine bestimmte Anzahl oder der größte Element eine bestimmte Schwellenwerte übersteigt
29
activerehashing yes
Bestimmt, ob der Hash-Rücksetzmodus aktiviert wird, Standard ist ein, wird im Detail bei der Vorstellung des Hash-Algorithms von Redis vorgestellt
30
include /path/to/local.conf
Bestimmt eine Konfigurationsdatei, die andere Konfigurationsdateien enthält, kann dieselbe Konfigurationsdatei zwischen mehreren Redis-Instanzen auf demselben Host verwendet werden, während jede Instanz ihre eigene spezifische Konfigurationsdatei hat