Redis6.0.5版本配置文件說明(非常詳細,全文1.5w字)

Redis版本

此文章中Redis版本爲6.0.5。

redis-server --version
Redis server v=6.0.5 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=e8c241ddd6b4e79c

配置文件說明

因Redis配置文件內容過多,我按照以模塊的方式分別對配置項進行說明。

###UNIT(單位)### (瞭解)

1k => 1000 bytes
1kb => 1024 bytes
1m => 1000000 bytes
1mb => 1024*1024 bytes
1g => 1000000000 bytes
1gb => 1024*1024*1024 bytes

###INCLUDES(包含)###(瞭解)

可以用於包含(引入)一個或多個其他配置文件

###MODULES(模塊)###(瞭解)

用於啓動時加載模塊。如果服務器無法加載模塊
它將中止。可以使用多個loadmodule指令。

###NETWORK(網絡)###(需記)

1. bind
說明:Redis服務監聽地址,用於Redis客戶端連接,默認只監聽本機迴環地址。
默認配置項:bind 127.0.0.1

2.protected-mode
說明:Protected模式是一層安全保護。默認是開啓的,配置bind ip或者設置訪問密碼訪問,關閉後,外部網絡可以直接訪問。
默認配置項:protected-mode yes

3.prot
說明:Redis監聽端口,默認爲6379
默認配置項:port 6379

4.tcp-backlog
說明:此參數確定了TCP連接中已完成隊列(完成三次握手之後)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511。
而Linux的默認參數值是128,當系統併發量大並且客戶端速度緩慢的時候,建議修改值大於511。
默認配置項:tcp-backlog 511

5.unixsocket
說明:指定 unix socket 的路徑
默認配置項:unixsocket /tmp/redis.sock

6.unixsocketperm
說明:指定 unix socket file 的權限。
默認配置項:unixsocketperm 700

7.timeout
說明:在客戶端閒置多少秒後斷開連接。
默認配置項:timeout 0

8.tcp-keepalive
說明:用來定時向client發送tcp_ack包來探測client是否存活的。
默認配置項:tcp-keepalive 300

###TLS / SSL(安全套接字)###(瞭解)

默認情況下,禁用TLS / SSL。要啓用它,請使用“ tls-port”配置。

###GENERAL(通用)###(精通)

1.daemonize
說明:默認情況下,Redis不作爲守護進程運行。如果你需要的話,用yes。
默認配置項:daemonize no

2.supervised
說明:可以通過upstart和systemd管理Redis守護進程,這個參數是和具體的操作系統相關的。
默認配置項:supervised no

3.pidfile
說明:配置pid文件路徑,當redis以守護模式啓動時,如果沒有配置pidfile,pidfile默認值是/var/run/redis.pid 。
默認配置項:pidfile /var/run/redis_6379.pid

4.loglevel
說明:日誌記錄等級,有4個可選值,debug(開發),verbose(默認值),notice(生產),warning(警告)
默認配置項:loglevel notice

5.logfile
說明:日誌文件的位置,當指定爲空字符串時,爲標準輸出,如果redis已守護進程模式運行,那麼日誌將會輸出到 /dev/null,若指定了路徑,日誌將會輸出到指定文件 。
默認配置項:logfile " "

6.syslog-enabled
說明:是否把日誌記錄到系統日誌。
默認配置項:syslog-enabled no

7.syslog-ident
說明:指定syslog裏的日誌標識
默認配置項:syslog-ident redis

8.syslog-facility
說明:指定syslog設備(facility),必須是user或則local0到local7。
默認配置項:syslog-facility local0

9.databases
說明:可用數據庫數量
默認配置項:databases 16

10.always-show-logo
說明:Redis顯示一個ASCII藝術徽標只有當開始登錄到標準輸出,以及標準輸出是否是TTY。
默認配置項:always-show-logo yes

###SNAPSHOTTING(快照)### (需記)

1.save
說明:多少秒保存數據到磁盤,格式是:save <seconds> <changes>。意思是至少有changes條key數據被改變時,seconds秒保存到磁盤。

默認配置項:
save 900 1
save 300 10
save 60 10000

2.stop-writes-on-bgsave-error
說明:默認情況下,如果 redis 最後一次的後臺保存失敗,redis 將停止接受寫操作,這樣以一種強硬的方式讓用戶知道數據不能正確的持久化到磁盤, 否則就會沒人注意到災難的發生。 如果後臺保存進程重新啓動工作了,redis 也將自動的允許寫操作。
默認配置項:stop-writes-on-bgsave-error yes

3.rdbcompression
說明:當dump .rdb數據庫的時候是否壓縮數據對象,如果你想節約一些cpu資源的話,可以把它設置爲no,這樣的話數據集就可能會比較大。
默認配置項:rdbcompression yes

4.rdbchecksum
說明:存儲和加載rdb文件時校驗,會佔用一部分資源。
默認配置項:rdbchecksum yes

5.dbfilename
說明:本地數據庫文件名,默認值爲dump.rdb
默認配置項:dbfilename dump.rdb

6.rdb-del-sync-files
說明:在沒有持久性的情況下刪除複製中使用的RDB文件
啓用。默認情況下,此選項是禁用的。
默認配置項:rdb-del-sync-files no

7.dir
說明:本地數據庫存放路徑,默認值爲 ./
默認配置項:dir ./

###REPLICATION(主從)###(必會)

1.replicaof
說明:格式:replicaof <masterip> <masterport>,當本機爲從服務時,設置主服務的IP及端口。例如:replicaof 192.168.233.233 6379。
默認配置項:replicaof <masterip> <masterport>

2.masterauth
說明:當本機爲從服務時,設置主服務的連接密碼。
默認配置項:masterauth <master-password>

3.masteruser
說明:當本機爲從服務時,設置主服務的用戶名。
默認配置項:masteruser <username>

4.slave-serve-stale-data
說明:當slave失去與master的連接,或正在拷貝中,如果爲yes,slave會響應客戶端的請求,數據可能不同步甚至沒有數據,如果爲no,slave會返回錯誤"SYNC with master in progress"
默認配置項:replica-serve-stale-data yes

5.replica-read-only
說明:如果爲yes,slave實例只讀,如果爲no,slave實例可讀可寫。
默認配置項:replica-read-only yes

6.repl-diskless-sync
說明:新的從站和重連後不能繼續備份的從站,需要做所謂的“完全備份”,即將一個RDB文件從主站傳送到從站。這個傳送有以下兩種方式:
硬盤備份:redis主站創建一個新的進程,用於把RDB文件寫到硬盤上。過一會兒,其父進程遞增地將文件傳送給從站。

無硬盤備份:redis主站創建一個新的進程,子進程直接把RDB文件寫到從站的套接字,不需要用到硬盤。

在硬盤備份的情況下,主站的子進程生成RDB文件。一旦生成,多個從站可以立即排成隊列使用主站的RDB文件。在無硬盤備份的情況下,一次RDB傳送開始,新的從站到達後,需要等待現在的傳送結束,才能開啓新的傳送。

如果使用無硬盤備份,主站會在開始傳送之間等待一段時間(可配置,以秒爲單位),希望等待多個子站到達後並行傳送。
在硬盤低速而網絡高速(高帶寬)情況下,無硬盤備份更好。
默認配置項:repl-diskless-sync no

7.repl-diskless-sync-delay
說明:無盤複製延時開始秒數,默認是5秒,意思是當PSYNC觸發的時候,master延時多少秒開始向master傳送數據流,以便等待更多的slave連接可以同時傳送數據流,因爲一旦PSYNC開始後,如果有新的slave連接master,只能等待下次PSYNC。可以配置爲0取消等待,立即開始。
默認配置項:repl-diskless-sync-delay 5

8.repl-diskless-load
說明:是否使用無磁盤加載,有三項:
disabled:不要使用無磁盤加載,先將rdb文件存儲到磁盤
on-empty-db:只有在完全安全的情況下才使用無磁盤加載
swapdb:解析時在RAM中保留當前db內容的副本,直接從套接字獲取數據。
默認配置項:repl-diskless-load disabled

9.repl-ping-replica-period
說明:指定slave定期ping master的週期,默認10秒鐘。
默認配置項:repl-ping-replica-period 10

10.repl-timeout
說明:從服務ping主服務的超時時間,若超過repl-timeout設置的時間,slave就會認爲master已經宕了。
默認配置項:repl-timeout 60

11.repl-disable-tcp-nodelay
說明:在slave和master同步後(發送psync/sync),後續的同步是否設置成TCP_NODELAY . 假如設置成yes,則redis會合並小的TCP包從而節省帶寬,但會增加同步延遲(40ms),造成master與slave數據不一致 假如設置成no,則redis master會立即發送同步數據,沒有延遲。
默認配置項:repl-disable-tcp-nodelay no

12.repl-backlog-size
說明:設置主從複製backlog容量大小。這個 backlog 是一個用來在 slaves 被斷開連接時存放 slave 數據的 buffer,所以當一個 slave 想要重新連接,通常不希望全部重新同步,只是部分同步就夠了,僅僅傳遞 slave 在斷開連接時丟失的這部分數據。這個值越大,salve 可以斷開連接的時間就越長。
默認配置項:repl-backlog-size 1mb

13.repl-backlog-ttl
說明:配置當master和slave失去聯繫多少秒之後,清空backlog釋放空間。當配置成0時,表示永遠不清空。
默認配置項:repl-backlog-ttl 3600

14.replica-priority
說明:當 master 不能正常工作的時候,Redis Sentinel 會從 slaves 中選出一個新的 master,這個值越小,就越會被優先選中,但是如果是 0 , 那是意味着這個 slave 不可能被選中。 默認優先級爲 100。
默認配置項:replica-priority 100

15.min-replicas-to-write&min-replicas-max-lag
說明:假如主redis發現有超過M個從redis的連接延時大於N秒,那麼主redis就停止接受外來的寫請求。這是因爲從redis一般會每秒鐘都向主redis發出PING,而主redis會記錄每一個從redis最近一次發來PING的時間點,所以主redis能夠了解每一個從redis的運行情況。上面這個例子表示,假如有大於等於3個從redis的連接延遲大於10秒,那麼主redis就不再接受外部的寫請求。上述兩個配置中有一個被置爲0,則這個特性將被關閉。默認情況下min-replicas-to-write爲0,而min-replicas-max-lag爲10。
默認配置項:
min-replicas-to-write 3
min-replicas-max-lag 10

16.replica-announce-ip&replica-announce-port
說明:常用於端口轉發或NAT場景下,對Master暴露真實IP和端口信息。
默認配置項:
replica-announce-ip 5.5.5.5
replica-announce-port 1234

###KEYS TRACKING(鍵跟蹤)###(瞭解)

關於鍵跟蹤的一些描述

###SECURITY(安全)###(必會)

1.acllog-max-len
說明:ACL日誌存儲在內存中並消耗內存,設置此項可以設置最大值來回收內存。
默認配置項:acllog-max-len 128

2.requirepass
說明:設置Redis連接密碼
默認配置項:requirepass foobared

3.rename-command
說明:將命令重命名。爲了安全考慮,可以將某些重要的、危險的命令重命名。當你把某個命令重命名成空字符串的時候就等於取消了這個命令。
默認配置項:rename-command CONFIG " "

###CLIENTS(客戶端)###(需記)

1.maxclients
說明:客戶端最大連接數
默認配置項:maxclients 10000

###MEMORY MANAGEMENT(內存管理)###(按需)

1. maxmemory
說明:指定Redis最大內存限制。達到內存限制時,Redis將嘗試刪除已到期或即將到期的Key。
默認配置項:maxmemory <bytes>

2.maxmemory-policy
說明:Redis達到最大內存時將如何選擇要刪除的內容,有以下選項。
1.volatile-lru:利用LRU算法移除設置過過期時間的key (LRU:最近使用 Least Recently Used )
2.allkeys-lru:利用LRU算法移除任何key
3.volatile-random:移除設置過過期時間的隨機key
4.allkeys-random:移除隨機key
5.volatile-ttl:移除即將過期的key(minor TTL)
6.noeviction:不移除任何key,只是返回一個寫錯誤 。默認選項

默認配置項:maxmemory-policy noeviction

3.maxmemory-samples
說明:LRU 和 minimal TTL 算法都不是精準的算法,但是相對精確的算法(爲了節省內存),隨意你可以選擇樣本大小進行檢測。redis默認選擇3個樣本進行檢測,你可以通過maxmemory-samples進行設置 樣本數。

4.replica-ignore-maxmemory
說明:從 Redis 5 開始,默認情況下,replica 節點會忽略 maxmemory 設置(除非在發生 failover 後,此節點被提升爲 master 節點)。 這意味着只有 master 纔會執行過期刪除策略,並且 master 在刪除鍵之後會對 replica 發送 DEL 命令。

這個行爲保證了 master 和 replicas 的一致性,並且這通常也是你需要的,但是若你的 replica 節點是可寫的, 或者你希望 replica 節點有不同的內存配置,並且你確保所有到 replica 寫操作都冪等的,那麼你可以修改這個默認的行爲 (請確保你明白你在做什麼)。
默認配置項:replica-ignore-maxmemory yes

###LAZY FREEING(惰性刪除)###(按需)

1.lazyfree-lazy-eviction
說明:針對redis內存使用達到maxmeory,並設置有淘汰策略時,在被動淘汰鍵時,是否採用lazy free機制。因爲此場景開啓lazy free, 可能使用淘汰鍵的內存釋放不及時,導致redis內存超用,超過maxmemory的限制。
默認配置項:lazyfree-lazy-eviction no

2.lazyfree-lazy-expire
說明:針對設置有TTL的鍵,達到過期後,被redis清理刪除時是否採用lazy free機制。此場景建議開啓,因TTL本身是自適應調整的速度。
默認配置項:lazyfree-lazy-expire no

3.lazyfree-lazy-server-del
說明:針對有些指令在處理已存在的鍵時,會帶有一個隱式的DEL鍵的操作。如rename命令,當目標鍵已存在,redis會先刪除目標鍵,如果這些目標鍵是一個big key,那就會引入阻塞刪除的性能問題。 此參數設置就是解決這類問題,建議可開啓。
默認配置項:lazyfree-lazy-server-del no

4.replica-lazy-flush
說明:針對slave進行全量數據同步,slave在加載master的RDB文件前,會運行flushall來清理自己的數據場景,參數設置決定是否採用異常flush機制。如果內存變動不大,建議可開啓。可減少全量同步耗時,從而減少主庫因輸出緩衝區爆漲引起的內存使用增長。
默認配置項:replica-lazy-flush no

5.lazyfree-lazy-user-del
說明:對於替換用戶代碼DEL調用的情況,也可以這樣做
使用UNLINK調用是不容易的,要修改DEL的默認行爲
命令的行爲完全像UNLINK。
默認配置項:lazyfree-lazy-user-del no

###THREADED I/O(線程I/O)###(瞭解)

關於線程的一些配置及說明。

###APPEND ONLY MODE(追加)###(瞭解)

1.appendonly
說明:是否啓用aof持久化方式 。即是否在每次更新操作後進行日誌記錄,默認配置是no,即在採用異步方式把數據寫入到磁盤,如果不開啓,可能會在斷電時導致部分數據丟失。
默認配置項:appendonly no

2.appendfilename
說明:更新日誌文件名,默認爲appendonly.aof。
默認配置項:appendfilename “appendonly.aof”

3.appendfsync
說明:aof文件刷新的頻率。有三種:
1.no 依靠OS進行刷新,redis不主動刷新AOF,這樣最快,但安全性就差。
2.always 每提交一個修改命令都調用fsync刷新到AOF文件,非常非常慢,但也非常安全。
3.everysec 每秒鐘都調用fsync刷新到AOF文件,很快,但可能會丟失一秒以內的數據。
默認配置項:appendfsync everysec

4.no-appendfsync-on-rewrite
說明:指定是否在後臺aof文件rewrite期間調用fsync,默認爲no,表示要調用fsync(無論後臺是否有子進程在刷盤)。Redis在後臺寫RDB文件或重寫AOF文件期間會存在大量磁盤IO,此時,在某些linux系統中,調用fsync可能會阻塞。
默認配置項:no-appendfsync-on-rewrite no

5.auto-aof-rewrite-percentage
說明:aof文件增長比例,指當前aof文件比上次重寫的增長比例大小。aof重寫即在aof文件在一定大小之後,重新將整個內存寫到aof文件當中,以反映最新的狀態(相當於bgsave)。這樣就避免了,aof文件過大而實際內存數據小的問題(頻繁修改數據問題)。
默認配置項:auto-aof-rewrite-percentage 100

6.auto-aof-rewrite-min-size
說明:aof文件重寫最小的文件大小,即最開始aof文件必須要達到這個文件時才觸發,後面的每次重寫就不會根據這個變量了(根據上一次重寫完成之後的大小).此變量僅初始化啓動redis有效.如果是redis恢復時,則lastSize等於初始aof文件大小。
默認配置項:auto-aof-rewrite-min-size 64mb

7.aof-load-truncated
說明:指redis在恢復時,會忽略最後一條可能存在問題的指令。默認值yes。即在aof寫入時,可能存在指令寫錯的問題(突然斷電,寫了一半),這種情況下,yes會log並繼續,而no會直接恢復失敗。
默認配置項:aof-load-truncated yes

8.aof-use-rdb-preamble
說明:在開啓了這個功能之後,AOF重寫產生的文件將同時包含RDB格式的內容和AOF格式的內容,其中RDB格式的內容用於記錄已有的數據,而AOF格式的內存則用於記錄最近發生了變化的數據,這樣Redis就可以同時兼有RDB持久化和AOF持久化的優點(既能夠快速地生成重寫文件,也能夠在出現問題時,快速地載入數據)。
默認配置項:aof-use-rdb-preamble yes

###LUA SCRIPTING(LUA 腳本)###(瞭解)

1.lua-time-limit
說明:一個Lua腳本最長的執行時間,單位爲毫秒,如果爲0或負數表示無限執行時間,默認爲5000
默認配置項:lua-time-limit 5000

###REDIS CLUSTER(集羣)###(必會)

1.cluster-enabled
說明:如果是yes,表示啓用集羣,否則以單例模式啓動
默認配置項:cluster-enabled yes

2.cluster-config-file
說明:這不是一個用戶可編輯的配置文件,這個文件是Redis集羣節點自動持久化每次配置的改變,爲了在啓動的時候重新讀取它。
默認配置項:cluster-config-file nodes-6379.conf

3.cluster-node-timeout
說明:超時時間,集羣節點不可用的最大時間。如果一個master節點不可到達超過了指定時間,則認爲它失敗了。注意,每一個在指定時間內不能到達大多數master節點的節點將停止接受查詢請求。
默認配置項:cluster-node-timeout 15000

4.cluster-replica-validity-factor
說明:如果設置爲0,則一個slave將總是嘗試故障轉移一個master。如果設置爲一個正數,那麼最大失去連接的時間是node timeout乘以這個factor。
默認配置項:cluster-replica-validity-factor 10

5.cluster-migration-barrier
說明:一個master和slave保持連接的最小數量(即:最少與多少個slave保持連接),也就是說至少與其它多少slave保持連接的slave纔有資格成爲master。
默認配置項:cluster-migration-barrier 1

6.cluster-require-full-coverage
說明:如果設置爲yes,這也是默認值,如果key space沒有達到百分之多少時停止接受寫請求。如果設置爲no,將仍然接受查詢請求,即使它只是請求部分key。
默認配置項:cluster-require-full-coverage yes

7.cluster-replica-no-failover
說明:此選項設置爲yes時,可防止從設備嘗試對其進行故障轉移master在主故障期間。 然而,仍然可以強制執行手動故障轉移。
默認配置項:cluster-replica-no-failover no

8.cluster-allow-reads-when-down
說明:是否允許集羣在宕機時讀取
默認配置項:cluster-allow-reads-when-down no

###CLUSTER DOCKER/NAT support (docker集羣/NAT支持)###(按需)

1.cluster-announce-ip
說明:宣佈IP地址
默認配置項:cluster-announce-ip 10.1.1.5

2.cluster-announce-port
說明:宣佈服務端口
默認配置項:cluster-announce-port 6379

3.cluster-announce-bus-port
說明:宣佈集羣總線端口
默認配置項:cluster-announce-bus-port 6380

###SLOW LOG(慢查詢日誌)### (需記)

1.slowlog-log-slower-than
說明:決定要對執行時間大於多少微秒(microsecond,1秒 = 1,000,000 微秒)的查詢進行記錄。
默認配置項:slowlog-log-slower-than 10000

2.slowlog-max-len
說明:它決定 slow log 最多能保存多少條日誌, slow log 本身是一個 FIFO 隊列,當隊列大小超過 slowlog-max-len 時,最舊的一條日誌將被刪除,而最新的一條日誌加入到 slow log ,以此類推。
默認配置項:slowlog-max-len 128

###LATENCY MONITOR(延時監控)###(瞭解)

1.latency-monitor-threshold
說明:能夠採樣不同的執行路徑來知道redis阻塞在哪裏。這使得調試各種延時問題變得簡單,設置一個毫秒單位的延時閾值來開啓延時監控。
默認配置項:latency-monitor-threshold 0

###EVENT NOTIFICATION(事件通知)###(瞭解)

1.notify-keyspace-events
說明:鍵事件通知,可用參數:
K 鍵空間通知,所有通知以 keyspace@ 爲前綴.
E 鍵事件通知,所有通知以 keyevent@ 爲前綴
g DEL 、 EXPIRE 、 RENAME 等類型無關的通用命令的通知
$ 字符串命令的通知
l 列表命令的通知
s 集合命令的通知
h 哈希命令的通知
z 有序集合命令的通知
x 過期事件:每當有過期鍵被刪除時發送
e 驅逐(evict)事件:每當有鍵因爲 maxmemory 策略而被刪除時發送
A 參數 g$lshzxe 的別名
書寫:notify-keyspace-events Ex
默認配置項:notify-keyspace-events " "

### GOPHER SERVER(GOPHER協議服務)###(瞭解)

1.gopher-enabled
說明:開啓gopher功能
默認配置項:gopher-enabled no

###ADVANCED CONFIG(高級配置)###(按需)

1.hash-max-ziplist-entries
說明:這個參數指的是ziplist中允許存儲的最大條目個數,默認爲512,建議爲128。
默認配置項:hash-max-ziplist-entries 512

2.hash-max-ziplist-value
說明:ziplist中允許條目value值最大字節數,默認爲64,建議爲1024。
默認配置項:hash-max-ziplist-value 64

3.list-max-ziplist-size
說明:ziplist列表最大值,默認存在五項:
-5:最大大小:64 Kb <——不建議用於正常工作負載
-4:最大大小:32 Kb <——不推薦
-3:最大大小:16 Kb <——可能不推薦
-2:最大大小:8 Kb<——很好
-1:最大大小:4 Kb <——好
默認配置項:list-max-ziplist-size -2

4.list-compress-depth
說明: 一個quicklist兩端不被壓縮的節點個數。0: 表示都不壓縮。這是Redis的默認值,1: 表示quicklist兩端各有1個節點不壓縮,中間的節點壓縮。3: 表示quicklist兩端各有3個節點不壓縮,中間的節點壓縮。
默認配置項:list-compress-depth 0

5.set-max-intset-entries
說明:當集合中的元素全是整數,且長度不超過set-max-intset-entries(默認爲512個)時,redis會選用intset作爲內部編碼,大於512用set。
默認配置項:set-max-intset-entries 512

6.zset-max-ziplist-entries&zset-max-ziplist-value
說明:當有序集合的元素小於zset-max-ziplist-entries配置(默認是128個),同時每個元素的值都小於zset-max-ziplist-value(默認是64字節)時,Redis會用ziplist來作爲有序集合的內部編碼實現,ziplist可以有效的減少內存的使用。
默認配置項:zset-max-ziplist-entries 128
zset-max-ziplist-value 64

7.hll-sparse-max-bytes
說明:value大小 小於等於hll-sparse-max-bytes使用稀疏數據結構(sparse),大於hll-sparse-max-bytes使用稠密的數據結構(dense)。
默認配置項:hll-sparse-max-bytes 3000

8.stream-node-max-bytes&stream-node-max-entries
說明:Streams單個節點的字節數,以及切換到新節點之前可能包含的最大項目數。
默認配置項:stream-node-max-bytes 4096
stream-node-max-entries 100

9.activerehashing
說明:主動重新散列每100毫秒CPU時間使用1毫秒,以幫助重新散列主Redis散列表(將頂級鍵映射到值)。
默認配置項:activerehashing yes

10.client-output-buffer-limit normal
說明:對客戶端輸出緩衝進行限制可以強迫那些不從服務器讀取數據的客戶端斷開連接,用來強制關閉傳輸緩慢的客戶端。
默認配置項:client-output-buffer-limit normal 0 0 0

11.client-output-buffer-limit replica
說明:對於slave client和MONITER client,如果client-output-buffer一旦超過256mb,又或者超過64mb持續60秒,那麼服務器就會立即斷開客戶端連接。
默認配置項:client-output-buffer-limit replica 256mb 64mb 60

12.client-output-buffer-limit pubsub
說明:對於pubsub client,如果client-output-buffer一旦超過32mb,又或者超過8mb持續60秒,那麼服務器就會立即斷開客戶端連接。
默認配置項:client-output-buffer-limit pubsub 32mb 8mb 60

13.client-query-buffer-limit
說明:客戶端查詢緩衝區累積新命令。 默認情況下,它被限制爲固定數量,以避免協議失步(例如由於客戶端中的錯誤)將導致查詢緩衝區中的未綁定內存使用。 但是,如果您有非常特殊的需求,可以在此配置它,例如我們巨大執行請求。
默認配置項:client-query-buffer-limit 1gb

14.proto-max-bulk-len
說明:在Redis協議中,批量請求(即表示單個字符串的元素)通常限制爲512 MB。 但是,您可以在此更改此限制。
默認配置項:proto-max-bulk-len 512mb

15.hz
說明:默認情況下,hz設置爲10.提高值時,在Redis處於空閒狀態下,將使用更多CPU。範圍介於1到500之間,大多數用戶應使用默認值10,除非僅在需要非常低延遲的環境中將此值提高到100。
默認配置項:hz 10

16.dynamic-hz
說明:啓用動態HZ時,實際配置的HZ將用作基線,但是一旦連接了更多客戶端,將根據實際需要使用配置的HZ值的倍數。
默認配置項:dynamic-hz yes

17.aof-rewrite-incremental-fsync
說明:當一個子進程重寫AOF文件時,如果啓用下面的選項,則文件每生成32M數據會被同步。
默認配置項:aof-rewrite-incremental-fsync yes

18.rdb-save-incremental-fsync
說明:當redis保存RDB文件時,如果啓用了以下選項,則每生成32 MB數據將對文件進行fsync。 這對於以遞增方式將文件提交到磁盤並避免大延遲峯值非常有用。
默認配置項:rdb-save-incremental-fsync yes

###ACTIVE DEFRAGMENTATION(活躍的碎片整理)###(瞭解)

**1.activedefrag **
說明:是否啓用碎片整理
默認配置項:activedefrag no

2.active-defrag-ignore-bytes
說明:啓動活動碎片整理的最小碎片浪費量
默認配置項:active-defrag-ignore-bytes 100mb

3.active-defrag-threshold-lower
說明:啓動碎片整理的最小碎片百分比
默認配置項:active-defrag-threshold-lower 10

4.active-defrag-threshold-upper
說明:使用最大消耗時的最大碎片百分比
默認配置項:active-defrag-threshold-upper 100

5.active-defrag-cycle-min
說明:在CPU百分比中進行碎片整理的最小消耗
默認配置項:active-defrag-cycle-min 1

6.active-defrag-cycle-max
說明:在CPU百分比達到最大值時,進行碎片整理
默認配置項:active-defrag-cycle-max 25

7.active-defrag-max-scan-fields
說明:從set / hash / zset / list 掃描的最大字段數
默認配置項:active-defrag-max-scan-fields 1000

8.jemalloc-bg-thread
說明:默認情況下,用於清除的Jemalloc後臺線程是啓用的。
默認配置項:jemalloc-bg-thread yes

參考博客

Redis(九):redis.conf 配置文件說明
Redis配置文件介紹
redis.conf文件詳解
Redis配置詳解(三)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章