Redis配置文件詳解


  注:redis版本為:6.0.5

  配置文件原文地址:https://raw.githubusercontent.com/redis/redis/6.0/redis.conf

  

# 如果要配置跟內存大小相關的參數是可以這樣配置:
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# 這些單位都是大小寫不敏感的.

################################## 包含 ###################################

包含一個或多個配置文件,通常include引入包含的配置,不能被"CONFIG REWRITE"重寫。
另外,由於Redis總是根據最后一個出現的相同的配置項的值作為配置值,所以如果我們不
希望include的配置覆蓋了當前文件的配置,那么請把include放在當前配置文件的前面。

# include /path/to/local.conf
# include /path/to/other.conf

################################## 模塊 #####################################

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

# loadmodule /path/to/my_module.so
# loadmodule /path/to/other_module.so

################################## 網絡 #####################################

默認情況下,如果你沒有顯式的指定bind參數,那么Redis將只接受服務器本地回環的連接
如果你想監聽網絡上其它IP的連接,也可以像下面這樣配置一個或多個IP地址。
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#
警告 如果要接受網絡上所有機器的連接,可以配置成bind 0.0.0.0, 這樣Redis就會接受
所有IPv4地址的連接請求。在實際應用中,這樣是十分不安全的,不推薦這么做。
bind 127.0.0.1

這是一層安全保護,默認情況下是yes,外部網絡無法訪問當前redis,通常我們會在配置好
bind的IP地址及訪問密碼(后面的requirepass參數)之后,會將它重新設置主no。這要外部
網絡就可以訪問當前Redis了。
protected-mode yes

指定redis的監聽端口,默認端口是6379
port 6379

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


指定unix socket目錄
# unixsocket /tmp/redis.sock

指定unix socket file的權限
# unixsocketperm 700

鏈接空閑了多少秒之后會被鏈接,也就是超時時間,0的話就表示永不超時
timeout 0

每隔多少秒向客戶端發送ACKs來檢測客戶端是否還存活着
tcp-keepalive 300

################################# 套接字安全 #####################################

這部分都是SSL相關的配置,默認不開啟SSL,讀者有興趣自己了解一下
# port 0
# tls-port 6379
# tls-cert-file redis.crt
# tls-key-file redis.key
# tls-dh-params-file redis.dh
# tls-ca-cert-file ca.crt
# tls-ca-cert-dir /etc/ssl/certs
# tls-auth-clients no
# tls-replication yes
# tls-cluster yes
# tls-protocols "TLSv1.2 TLSv1.3"
# tls-ciphers DEFAULT:!MEDIUM
# tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256
# tls-prefer-server-ciphers yes

################################# 通用 #####################################

默認情況下,Redis不會以守護進程的方式運行,如果你想以守護進程運行Redis,你可以設置為yes
如果你以守護進程的方式運行Redis,那么Redis將會創建一個pid文件/var/run/redis.pid
daemonize no

可以通過upstart和systemd管理Redis守護進程,這個參數是和具體的操作系統相關的,它可以
配置的值有:no、upstart、systemd或auto。
supervised no

以守護進程方式運行Redis時,pid文件配置,默認是:/var/run/redis.pid
pidfile /var/run/redis_6379.pid

日志記錄等級,有4個可選值,debug(開發),verbose(默認值),notice(生產),warning(警告)
loglevel notice

日志文件的位置,當指定為空字符串時,為標准輸出,如果redis已守護進程模式運行,那么日志將會
輸出到/dev/null,若指定了路徑,日志將會輸出到指定文件,默認值是""
logfile ""

是否把日志記錄到系統日志,默認是no
# syslog-enabled no

指定syslog里的日志標識,默認是redis
# syslog-ident redis

指定syslog設備(facility),必須是user或則local0到local7
# syslog-facility local0

指定數據庫數量,默認是16
databases 16

是否展示ASCII碼logo,默認yes
always-show-logo yes

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

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

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

當dump rdb數據庫的時候,要不要進行壓縮,如果你想節約CPU資源,可以設置為no,但那樣的話,rdb數據
集將很大。默認是yes。
rdbcompression yes

從Redis5之后,一個CRC64校驗和就被存在rdb文件的尾部,校驗可以確認rdb文件的完整性,但是
它會占用10%左右的保存或加載rdb文件的資源,如果你為了讓性能最大化,你可以設置為no,默認是true。
rdbchecksum yes

指定rdb文件的名稱,默認是dump.rdb
dbfilename dump.rdb

在沒有持久性的情況下刪除復制中使用的RDB文件,通常情況下保持默認即可。
rdb-del-sync-files no

本地數據庫存放路徑,默認值為./
dir ./

 

################################# 主從復制 #################################

如果當前服務器為slave,那么這里配置的就是master的ip和端口,如:192.168.1.2 6379
# replicaof <masterip> <masterport>

如果當前服務器為slave,那么這里配置的就是master的訪問密碼
# masterauth <master-password>

如果當前服務器為slave,那么這里配置的就是master的用戶名
# masteruser <username>

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

如果當前服務器為slave,這里配置slave是否只讀,默認為yes,如果為no的話,就是可讀可寫。
replica-read-only yes

新的從站和重連后不能繼續備份的從站,需要做所謂的“完全備份”,即將一個RDB文件從主站傳送到從站。
這個傳送有以下兩種方式:
硬盤備份:redis主站創建一個新的進程,用於把RDB文件寫到硬盤上。過一會兒,其父進程遞增地將文件傳送給從站。
無硬盤備份:redis主站創建一個新的進程,子進程直接把RDB文件寫到從站的套接字,不需要用到硬盤。
在硬盤備份的情況下,主站的子進程生成RDB文件。一旦生成,多個從站可以立即排成隊列使用主站的RDB文件。
在無硬盤備份的情況下,一次RDB傳送開始,新的從站到達后,需要等待現在的傳送結束,才能開啟新的傳送。
如果使用無硬盤備份,主站會在開始傳送之間等待一段時間(可配置,以秒為單位),希望等待多個子站到達后並行傳送。
在硬盤低速而網絡高速(高帶寬)情況下,無硬盤備份更好。
repl-diskless-sync no

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

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

這里指定slave定期向master進行心跳檢測的周期,默認10秒
# repl-ping-replica-period 10

對master進行心跳檢測超時時間,默認60秒
# repl-timeout 60

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

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

配置當master和slave失去聯系多少秒之后,清空backlog釋放空間。當配置成0時,表示永遠不清空。
# repl-backlog-ttl 3600

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

假如主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


常用於端口轉發或NAT場景下,對Master暴露真實IP和端口信息。
# replica-announce-ip 5.5.5.5
# replica-announce-port 1234

 

############################### 鍵的追蹤 #################################

在使用了客戶端緩存(什么是客戶端緩存:https://redis.io/topics/client-side-caching)的時候
這里配置要追蹤的key的數量,如果配置為0,則表示要追蹤的key的數量不受限制
# tracking-table-max-keys 1000000

################################## 安全 ###################################

ACL日志的最大長度,默認是128M。關於acl,詳見:https://redis.io/topics/acl
acllog-max-len 128

ACL外部配置文件所在位置
# aclfile /etc/redis/users.acl

當前redis服務的訪問密碼,默認是不需要密碼
# requirepass foobared

################################### 客戶端 ####################################

客戶端最大連接數配置默認是10000。
# maxclients 10000

 

############################## 內存管理 ################################

指定Redis最大內存限制。達到內存限制時,Redis將嘗試刪除已到期或即將到期的Key。
# maxmemory <bytes>


# volatile-lru -> 對設置了過期時間的keys適用LRU淘汰策略
# allkeys-lru -> 對所有keys適用LRU淘汰策略
# volatile-lfu -> 對設置了過期時間的keys適用LFU淘汰策略
# allkeys-lfu -> 對所有keys適用LFU淘汰策略
# volatile-random -> 對設置了過期時間的keys適用隨機淘汰策略
# allkeys-random -> 對所有keys適用隨機淘汰策略
# volatile-ttl -> 淘汰離過期時間最近的keys
# noeviction -> 不淘汰任何key,僅對寫入操作返回一個錯誤

內存策略,默認是noeviction
# maxmemory-policy noeviction

LRU,LFU,minimal TTL 算法都不是精准的算法,這里設置抽查的樣本數量,默認是5個樣本。
# maxmemory-samples 5

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


設置過期keys仍然駐留在內存中的比重,默認是為1,表示最多只能有10%的過期key駐留在內存中,
該值設置的越小,那么在一個淘汰周期內,消耗的CPU資源也更多,因為需要實時刪除更多的過期key。
所以該值的配置是需要綜合權衡的。
# active-expire-effort 1

############################# 惰性釋放 ####################################

針對redis內存使用達到maxmeory,並設置有淘汰策略時,在被動淘汰鍵時,是否采用lazy free機制。
因為此場景開啟lazy free, 可能使用淘汰鍵的內存釋放不及時,導致redis內存超用,超過maxmemory的限制。
lazyfree-lazy-eviction no

針對設置有TTL的鍵,達到過期后,被redis清理刪除時是否采用lazy free機制。此場景建議開啟,
因TTL本身是自適應調整的速度。
lazyfree-lazy-expire no

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

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

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

################################ 線程I/O #################################

IO線程組中IO線程的數量
# io-threads 4


是否開啟IO線程組,默認是不開啟,想開啟,可以設置為true,並指定上面io-threads的數值
# io-threads-do-reads no

############################## AOF模式 ###############################

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

更新日志文件名,默認為appendonly.aof
appendfilename "appendonly.aof"

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

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

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

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

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

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

################################ Lua腳本 ###############################

一個Lua腳本最長的執行時間,單位為毫秒,如果為0或負數表示無限執行時間,默認為5000
lua-time-limit 5000

################################ Redis集群 ###############################

如果是yes,表示啟用集群,否則以單例模式啟動
# cluster-enabled yes

這不是一個用戶可編輯的配置文件,這個文件是Redis集群節點自動持久化每次配置的改變,
為了在啟動的時候重新讀取它
# cluster-config-file nodes-6379.conf

超時時間,集群節點不可用的最大時間。如果一個master節點不可到達超過了指定時間,則認為它失敗了。
注意,每一個在指定時間內不能到達大多數master節點的節點將停止接受查詢請求。
# cluster-node-timeout 15000

如果設置為0,則一個slave將總是嘗試故障轉移一個master。如果設置為一個正數,那么最大失去連接的
時間是node timeout乘以這個factor。
# cluster-replica-validity-factor 10

一個master和slave保持連接的最小數量(即:最少與多少個slave保持連接),也就是說至少與其它多少
slave保持連接的slave才有資格成為master
# cluster-migration-barrier 1

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

此選項設置為yes時,可防止從設備嘗試對其進行故障轉移master在主故障期間。 然而,仍然可以強制執行手動故障轉移
# cluster-replica-no-failover no

是否允許集群在宕機時讀取
# cluster-allow-reads-when-down no

########################## docker集群/NAT支持 ########################

宣布服務IP
# cluster-announce-ip 10.1.1.5

宣布服務端口
# cluster-announce-port 6379

宣布集群總線端口
# cluster-announce-bus-port 6380

################################## 慢查詢日志 ###################################

決定要對執行時間大於多少微秒(microsecond,1秒 = 1,000,000 微秒)的查詢進行記錄。
slowlog-log-slower-than 10000

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

################################ 延遲監控 ##############################

能夠采樣不同的執行路徑來知道redis阻塞在哪里。這使得調試各種延時問題變得簡單,
設置一個毫秒單位的延時閾值來開啟延時監控。
latency-monitor-threshold 0

############################# 事件通知 ##############################

關於事件通知,詳見:http://redis.io/topics/notifications

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

notify-keyspace-events ""

############################### gopher服務 #################################

開啟gopher功能,默認是no(不開啟),關於gopher,詳見:https://github.com/antirez/gopher2redis
# gopher-enabled no

############################### 高級配置 ###############################

ziplist最大條目數
hash-max-ziplist-entries 512

ziplist單個條目value的最大字節數
hash-max-ziplist-value 64

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

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

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

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

value大小 小於等於hll-sparse-max-bytes使用稀疏數據結構(sparse),大於hll-sparse-max-bytes使用稠密的數據結構(dense)
hll-sparse-max-bytes 3000

Streams單個節點的字節數,以及切換到新節點之前可能包含的最大項目數。
stream-node-max-bytes 4096
stream-node-max-entries 100

主動重新散列每100毫秒CPU時間使用1毫秒,以幫助重新散列主Redis散列表(將頂級鍵映射到值)
activerehashing yes

對客戶端輸出緩沖進行限制可以強迫那些不從服務器讀取數據的客戶端斷開連接,用來強制關閉
傳輸緩慢的客戶端。
client-output-buffer-limit normal 0 0 0

對於slave client和MONITER client,如果client-output-buffer一旦超過256mb,又或者超過64mb
持續60秒,那么服務器就會立即斷開客戶端連接
client-output-buffer-limit replica 256mb 64mb 60

對於pubsub client,如果client-output-buffer一旦超過32mb,又或者超過8mb持續60秒,那么服務
器就會立即斷開客戶端連接
client-output-buffer-limit pubsub 32mb 8mb 60

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

在Redis協議中,批量請求(即表示單個字符串的元素)通常限制為512 MB。 但是,您可以在此更改此限制
# proto-max-bulk-len 512mb

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

啟用動態HZ時,實際配置的HZ將用作基線,但是一旦連接了更多客戶端,將根據實際需要使用配置的HZ值的倍數
dynamic-hz yes

當一個子進程重寫AOF文件時,如果啟用下面的選項,則文件每生成32M數據會被同步
aof-rewrite-incremental-fsync yes

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

# +--------+------------+------------+------------+------------+------------+
# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits |
# +--------+------------+------------+------------+------------+------------+
# | 0 | 104 | 255 | 255 | 255 | 255 |
# +--------+------------+------------+------------+------------+------------+
# | 1 | 18 | 49 | 255 | 255 | 255 |
# +--------+------------+------------+------------+------------+------------+
# | 10 | 10 | 18 | 142 | 255 | 255 |
# +--------+------------+------------+------------+------------+------------+
# | 100 | 8 | 11 | 49 | 143 | 255 |
# +--------+------------+------------+------------+------------+------------+

可以調整計數器counter的增長速度,lfu-log-factor越大,counter增長的越慢。
# lfu-log-factor 10

是一個以分鍾為單位的數值,可以調整counter的減少速度
# lfu-decay-time 1

########################### 活躍的碎片整理 #######################

是否啟用碎片整理,默認是no
# activedefrag no

最小的碎片空間浪費量
# active-defrag-ignore-bytes 100mb

最小的碎片百分比閾值
# active-defrag-threshold-lower 10

最大的碎片百分比閾值
# active-defrag-threshold-upper 100

碎片整理周期CPU消耗最小百分比
# active-defrag-cycle-min 1

碎片整理周期CPU消耗最大百分比
# active-defrag-cycle-max 25

從set / hash / zset / list 掃描的最大字段數
# active-defrag-max-scan-fields 1000

默認情況下,用於清除的Jemalloc后台線程是啟用的。
jemalloc-bg-thread yes

設置redis服務器的IO線程組的CPU綁定:0,2,4,6
# server_cpulist 0-7:2

設置BIO線程的CPU綁定為:1,3:
# bio_cpulist 1,3

設置AOF子進程的CPU綁定為:8,9,10,11
# aof_rewrite_cpulist 8-11

設置bgsave的CPU綁定為:1,10-11
# bgsave_cpulist 1,10-11


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM