Redis-Konfiguration
Die Redis-Konfigurationsdatei befindet sich im Redis-Installationsverzeichnis und trägt den Dateinamenredis.conf(unter Windows heißt sie redis.windows.conf).
Sie können den BefehlCONFIGverwenden, um Konfigurationselemente anzuzeigen oder festzulegen.
Syntax
Das Format des Redis-CONFIG-Befehls lautet wie folgt:
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
Beispiel
redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
Verwenden Sie*, um alle Konfigurationselemente abzurufen:
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 Konfiguration ändern, indem Sie die Datei redis.conf bearbeiten oder den BefehlCONFIG setverwenden, um die Konfiguration zu ändern.
Syntax
CONFIG SETDie grundlegende Syntax des Befehls:
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
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 Konfigurationselemente von redis.conf werden wie folgt beschrieben:
| Laufende Nummer | Konfigurationseintrag | Beschreibung |
|---|---|---|
| 1 | daemonize no |
Redis wird standardmäßig nicht als Daemon-Prozess ausgeführt. Sie können dieses Konfigurationselement ändern und mit yes den Daemon-Prozess aktivieren (Windows unterstützt keine Daemon-Threads; die Konfiguration ist no). |
| 2 | pidfile /var/run/redis.pid |
Wenn Redis als Daemon-Prozess läuft, schreibt Redis die PID standardmäßig in die Datei /var/run/redis.pid. Sie können sie über pidfile angeben. |
| 3 |
port 6379 |
Geben Sie den Redis-Listening-Port an. Der Standardport ist 6379. Der Autor erklärte in einem seiner Blogbeiträge, warum 6379 als Standardport gewählt wurde, weil 6379 auf einer Telefontastatur MERZ entspricht und MERZ vom Namen der italienischen Sängerin Alessia Merz stammt. |
| 4 | bind 127.0.0.1 |
Gebundene Hostadresse |
| 5 | timeout 300 |
Gibt an, nach wie vielen Sekunden Inaktivität des Clients die Verbindung geschlossen wird. Wenn auf 0 gesetzt, ist diese Funktion deaktiviert. |
| 6 | loglevel notice |
Geben Sie die Protokollierungsstufe an. Redis unterstützt insgesamt vier Stufen: debug, verbose, notice, warning. Standard ist notice. |
| 7 | logfile stdout |
Die Protokollierungsmethode ist standardmäßig die Standardausgabe. Wenn Redis so konfiguriert ist, dass es als Daemon-Prozess ausgeführt wird, und die Protokollierungsmethode hier ebenfalls als Standardausgabe konfiguriert ist, werden die Protokolle an /dev/null gesendet. |
| 8 | databases 16 |
Legen Sie die Anzahl der Datenbanken fest. Die Standarddatenbank ist 0. Sie können SELECT |
| 9 |
save <seconds> <changes> Die Redis-Standardkonfigurationsdatei enthält drei Bedingungen: save 900 1 save 300 10 save 60 10000 Sie bedeuten jeweils 1 Änderung innerhalb von 900 Sekunden (15 Minuten), 10 Änderungen innerhalb von 300 Sekunden (5 Minuten) und 10000 Änderungen innerhalb von 60 Sekunden. |
Geben Sie an, wie viele Aktualisierungsvorgänge innerhalb eines bestimmten Zeitraums das Synchronisieren von Daten in die Datendatei auslösen. Mehrere Bedingungen können kombiniert werden. |
| 10 | rdbcompression yes |
Geben Sie an, ob Daten beim Speichern in der lokalen Datenbank komprimiert werden sollen. Standard ist ja. Redis verwendet LZF-Komprimierung. Um CPU-Zeit zu sparen, können Sie diese Option deaktivieren, aber dadurch wird die Datenbankdatei riesig. |
| 11 | dbfilename dump.rdb |
Geben Sie den Dateinamen der lokalen Datenbank an. Der Standardwert ist dump.rdb. |
| 12 | dir ./ |
Geben Sie das Verzeichnis an, in dem die lokale Datenbank gespeichert wird. |
| 13 | slaveof <masterip> <masterport> |
Wenn diese Maschine ein Slave-Dienst ist, legen Sie die IP-Adresse und den Port des Master-Dienstes fest. Wenn Redis startet, synchronisiert es automatisch Daten vom Master. |
| 14 | masterauth <master-password> |
Wenn beim Master-Dienst der Passwortschutz aktiviert ist, ist dies das Passwort, mit dem der Slave-Dienst eine Verbindung zum Master herstellt. |
| 15 | requirepass foobared |
Legen Sie das Redis-Verbindungspasswort fest. Wenn ein Verbindungspasswort konfiguriert ist, muss der Client beim Verbinden mit Redis das Passwort über den Befehl AUTH <password> angeben. Standardmäßig ist es deaktiviert. |
| 16 | maxclients 128 |
Legen Sie die maximale Anzahl gleichzeitiger Client-Verbindungen fest. Standardmäßig gibt es keine Begrenzung. Die Anzahl der Client-Verbindungen, die Redis gleichzeitig öffnen kann, entspricht der maximalen Anzahl von Dateideskriptoren, die der Redis-Prozess öffnen kann. Wenn maxclients auf 0 gesetzt ist, bedeutet dies keine Begrenzung. Wenn die Anzahl der Client-Verbindungen das Limit erreicht, schließt Redis neue Verbindungen und gibt die Fehlermeldung "max number of clients reached" an den Client zurück. |
| 17 | maxmemory <bytes> |
Geben Sie das maximale Speicherlimit für Redis an. Redis lädt Daten beim Start in den Speicher. Nach Erreichen des maximalen Speichers versucht Redis zunächst, abgelaufene oder bald ablaufende Schlüssel zu löschen. Wenn diese Methode verarbeitet wurde und die maximale Speichereinstellung immer noch erreicht ist, können keine Schreibvorgänge mehr durchgeführt werden, aber Lesevorgänge sind weiterhin möglich. Der neue vm-Mechanismus von Redis speichert Schlüssel im Speicher und Werte im Swap-Bereich. |
| 18 | appendonly no |
Gibt an, ob nach jedem Aktualisierungsvorgang eine Protokollierung durchgeführt werden soll. Standardmäßig schreibt Redis Daten asynchron auf die Festplatte. Wenn dies nicht aktiviert ist, kann ein Stromausfall für einen bestimmten Zeitraum zu Datenverlust führen. Da Redis selbst Datendateien gemäß den oben genannten Speicherbedingungen synchronisiert, können einige Daten nur für einen bestimmten Zeitraum im Speicher vorhanden sein. Der Standardwert ist no. |
| 19 | appendfilename appendonly.aof |
Gibt den Namen der Aktualisierungsprotokolldatei an. Der Standardwert ist appendonly.aof. |
| 20 | appendfsync everysec |
Gibt die Bedingung für das Aktualisierungsprotokoll an. Es gibt 3 optionale Werte:
|
| 21 | vm-enabled no |
Gibt an, ob der virtuelle Speichermechanismus aktiviert werden soll. Der Standardwert ist no. Kurz gesagt, der VM-Mechanismus speichert Daten in Seiten. Redis lagert Seiten mit weniger Zugriff, also kalte Daten, auf die Festplatte aus. Seiten mit mehr Zugriff werden automatisch von der Festplatte in den Speicher eingelagert (ich werde den VM-Mechanismus von Redis in einem späteren Artikel im Detail analysieren). |
| 22 | vm-swap-file /tmp/redis.swap |
Pfad der virtuellen Speicherdatei. Der Standardwert ist /tmp/redis.swap. Sie kann nicht von mehreren Redis-Instanzen gemeinsam genutzt werden. |
| 23 | vm-max-memory 0 |
Speichert alle Daten, die größer als vm-max-memory sind, im virtuellen Speicher. Unabhängig davon, wie klein vm-max-memory eingestellt ist, werden alle Indexdaten im Speicher gehalten (die Indexdaten von Redis sind Schlüssel). Das heißt, wenn vm-max-memory auf 0 gesetzt ist, existieren tatsächlich alle Werte auf der Festplatte. Der Standardwert ist 0. |
| 24 | vm-page-size 32 |
Die 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-size sollte entsprechend der Größe der gespeicherten Daten festgelegt werden. Der Autor schlägt vor, dass, wenn Sie viele kleine Objekte speichern, die Seitengröße am besten auf 32 oder 64 bytes eingestellt wird; wenn Sie sehr große Objekte speichern, können Sie eine größere Seite verwenden; wenn Sie unsicher sind, verwenden Sie den Standardwert. |
| 25 | vm-pages 134217728 |
Legt die Anzahl der Seiten in der Swap-Datei fest. Da die Seitentabelle (eine Bitmap, die angibt, ob Seiten frei oder belegt sind) im Speicher abgelegt ist, verbrauchen alle 8 Seiten auf der Festplatte 1 Byte Arbeitsspeicher. |
| 26 | vm-max-threads 4 |
Legt die Anzahl der Threads fest, die auf die Swap-Datei zugreifen. Es ist am besten, die Anzahl der Maschinenkerne nicht zu überschreiten. Wenn 0 festgelegt wird, sind alle Vorgänge an der Swap-Datei seriell, was zu einer relativ langen Verzögerung führen kann. Der Standardwert ist 4. |
| 27 | glueoutputbuf yes |
Legt fest, ob beim Antworten an Clients kleinere Pakete zu einem Paket zusammengeführt werden. Es ist standardmäßig aktiviert. |
| 28 |
hash-max-zipmap-entries 64 hash-max-zipmap-value 512 |
Gibt an, dass ein spezieller Hash-Algorithmus verwendet wird, wenn eine bestimmte Menge überschritten wird oder das maximale Element einen bestimmten Schwellenwert überschreitet. |
| 29 | activerehashing yes |
Gibt an, ob Rehashing aktiviert werden soll. Es ist standardmäßig aktiviert (Details werden später bei der Einführung des Redis-Hash-Algorithmus vorgestellt). |
| 30 |
include /path/to/local.conf |
Gibt an, dass andere Konfigurationsdateien eingebunden werden sollen. Sie können dieselbe Konfigurationsdatei für mehrere Redis-Instanzen auf demselben Host verwenden, während jede Instanz auch ihre eigene spezifische Konfigurationsdatei hat. |