此次安裝的版本為: 5.0.3
[root@localhost local]# redis-server --version
Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=afabdecde61000c3
打開redis.cof
NETWORK
# 指定 redis 只接收來自于該IP地址的請求,如果不進行設置,那么將處理所有請求
bind 127.0.0.1
#是否開啟保護模式,默認開啟。要是配置里沒有指定bind和密碼。開啟該參數(shù)后,redis只會本地進行訪問,
拒絕外部訪問。要是開啟了密碼和bind,可以開啟。否則最好關閉,設置為no
protected-mode yes
#redis監(jiān)聽的端口號
port 6379
#此參數(shù)確定了TCP連接中已完成隊列(完成三次握手之后)的長度, 當然此值必須不大于Linux系統(tǒng)定義
的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數(shù)值是128。當系統(tǒng)并發(fā)量大并且客戶端
速度緩慢的時候,可以將這二個參數(shù)一起參考設定。該內核參數(shù)默認值一般是128,對于負載很大的服務程序來說
大大的不夠。一般會將它修改為2048或者更大。在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,
然后在終端中執(zhí)行sysctl -p
tcp-backlog 511
#此參數(shù)為設置客戶端空閑超過timeout,服務端會斷開連接,為0則服務端不會主動斷開連接,不能小于0
timeout 0
#tcp keepalive參數(shù)。如果設置不為0,就使用配置tcp的SO_KEEPALIVE值,使用keepalive有兩個好處:檢測掛
掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問題。在Linux內核中,設置了
keepalive,redis會定時給對端發(fā)送ack。檢測到對端關閉需要兩倍的設置值
tcp-keepalive 300
#是否在后臺執(zhí)行,yes:后臺運行;no:不是后臺運行
daemonize yes
#redis的進程文件
pidfile /var/run/redis/redis.pid
#指定了服務端日志的級別。級別包括:debug(很多信息,方便開發(fā)、測試),verbose(許多有用的信息,
但是沒有debug級別信息多),notice(適當?shù)娜罩炯墑e,適合生產環(huán)境),warn(只有非常重要的信息)
loglevel notice
#指定了記錄日志的文件??兆址脑?,日志會打印到標準輸出設備。后臺運行的redis標準輸出是/dev/null
logfile /usr/local/redis/var/redis.log
#是否打開記錄syslog功能
# syslog-enabled no
#syslog的標識符。
# syslog-ident redis
#日志的來源、設備
# syslog-facility local0
#數(shù)據庫的數(shù)量,默認使用的數(shù)據庫是0。可以通過”SELECT 【數(shù)據庫序號】“命令選擇一個數(shù)據庫,序號從0開始
databases 16
SNAPSHOTTING
#RDB核心規(guī)則配置 save 指定時間間隔> 執(zhí)行指定次數(shù)更新操作>,滿足條件就將內存中的數(shù)據同步到硬盤
中。官方出廠配置默認是 900秒內有1個更改,300秒內有10個更改以及60秒內有10000個更改,則將內存中的
數(shù)據快照寫入磁盤。
若不想用RDB方案,可以把 save "" 的注釋打開,下面三個注釋
# save ""
save 900 1
save 300 10
save 60 10000
#當RDB持久化出現(xiàn)錯誤后,是否依然進行繼續(xù)進行工作,yes:不能進行工作,no:可以繼續(xù)進行工作,可以通
過info中的rdb_last_bgsave_status了解RDB持久化是否有錯誤
stop-writes-on-bgsave-error yes
#配置存儲至本地數(shù)據庫時是否壓縮數(shù)據,默認為yes。Redis采用LZF壓縮方式,但占用了一點CPU的時間。若關閉該選項,
但會導致數(shù)據庫文件變的巨大。建議開啟。
rdbcompression yes
#是否校驗rdb文件;從rdb格式的第五個版本開始,在rdb文件的末尾會帶上CRC64的校驗和。這跟有利于文件的
容錯性,但是在保存rdb文件的時候,會有大概10%的性能損耗,所以如果你追求高性能,可以關閉該配置
rdbchecksum yes
#指定本地數(shù)據庫文件名,一般采用默認的 dump.rdb
dbfilename dump.rdb
#數(shù)據目錄,數(shù)據庫的寫入會在這個目錄。rdb、aof文件也會寫在這個目錄
dir /usr/local/redis/var
REPLICATION
# 復制選項,slave復制對應的master。
# replicaof masterip> masterport>
#如果master設置了requirepass,那么slave要連上master,需要有master的密碼才行。masterauth就是用來
配置master的密碼,這樣可以在連上master后進行認證。
# masterauth master-password>
#當從庫同主機失去連接或者復制正在進行,從機庫有兩種運行方式:1) 如果slave-serve-stale-data設置為
yes(默認設置),從庫會繼續(xù)響應客戶端的請求。2) 如果slave-serve-stale-data設置為no,
INFO,replicaOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG,SUBSCRIBE, UNSUBSCRIBE,
PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB,COMMAND, POST, HOST: and LATENCY命令之外的任何請求
都會返回一個錯誤”SYNC with master in progress”。
replica-serve-stale-data yes
#作為從服務器,默認情況下是只讀的(yes),可以修改成NO,用于寫(不建議)
#replica-read-only yes
# 是否使用socket方式復制數(shù)據。目前redis復制提供兩種方式,disk和socket。如果新的slave連上來或者
重連的slave無法部分同步,就會執(zhí)行全量同步,master會生成rdb文件。有2種方式:disk方式是master創(chuàng)建
一個新的進程把rdb文件保存到磁盤,再把磁盤上的rdb文件傳遞給slave。socket是master創(chuàng)建一個新的進
程,直接把rdb文件以socket的方式發(fā)給slave。disk方式的時候,當一個rdb保存的過程中,多個slave都能
共享這個rdb文件。socket的方式就的一個個slave順序復制。在磁盤速度緩慢,網速快的情況下推薦用socket方式。
repl-diskless-sync no
#diskless復制的延遲時間,防止設置為0。一旦復制開始,節(jié)點不會再接收新slave的復制請求直到下一個rdb傳輸。
所以最好等待一段時間,等更多的slave連上來
repl-diskless-sync-delay 5
#slave根據指定的時間間隔向服務器發(fā)送ping請求。時間間隔可以通過 repl_ping_slave_period 來設置,默認10秒。
# repl-ping-slave-period 10
# 復制連接超時時間。master和slave都有超時時間的設置。master檢測到slave上次發(fā)送的時間超過repl-timeout,即認為slave離線,清除該slave信息。slave檢測到上次和master交互的時間超過repl-timeout,則認為master離線。需要注意的是repl-timeout需要設置一個比repl-ping-slave-period更大的值,不然會經常檢測到超時
# repl-timeout 60
#是否禁止復制tcp鏈接的tcp nodelay參數(shù),可傳遞yes或者no。默認是no,即使用tcp nodelay。如果
master設置了yes來禁止tcp nodelay設置,在把數(shù)據復制給slave的時候,會減少包的數(shù)量和更小的網絡帶
寬。但是這也可能帶來數(shù)據的延遲。默認我們推薦更小的延遲,但是在數(shù)據量傳輸很大的場景下,建議選擇yes
repl-disable-tcp-nodelay no
#復制緩沖區(qū)大小,這是一個環(huán)形復制緩沖區(qū),用來保存最新復制的命令。這樣在slave離線的時候,不需要完
全復制master的數(shù)據,如果可以執(zhí)行部分同步,只需要把緩沖區(qū)的部分數(shù)據復制給slave,就能恢復正常復制狀
態(tài)。緩沖區(qū)的大小越大,slave離線的時間可以更長,復制緩沖區(qū)只有在有slave連接的時候才分配內存。沒有
slave的一段時間,內存會被釋放出來,默認1m
# repl-backlog-size 1mb
# master沒有slave一段時間會釋放復制緩沖區(qū)的內存,repl-backlog-ttl用來設置該時間長度。單位為秒。
# repl-backlog-ttl 3600
# 當master不可用,Sentinel會根據slave的優(yōu)先級選舉一個master。最低的優(yōu)先級的slave,當選master。
而配置成0,永遠不會被選舉
replica-priority 100
#redis提供了可以讓master停止寫入的方式,如果配置了min-replicas-to-write,健康的slave的個數(shù)小于N,mater就禁止寫入。master最少得有多少個健康的slave存活才能執(zhí)行寫命令。這個配置雖然不能保證N個slave都一定能接收到master的寫操作,但是能避免沒有足夠健康的slave的時候,master不能寫入來避免數(shù)據丟失。設置為0是關閉該功能
# min-replicas-to-write 3
# 延遲小于min-replicas-max-lag秒的slave才認為是健康的slave
# min-replicas-max-lag 10
# 設置1或另一個設置為0禁用這個特性。
# Setting one or the other to 0 disables the feature.
# By default min-replicas-to-write is set to 0 (feature disabled) and
# min-replicas-max-lag is set to 10.
SECURITY
#requirepass配置可以讓用戶使用AUTH命令來認證密碼,才能使用其他命令。這讓redis可以使用在不受信任的
網絡中。為了保持向后的兼容性,可以注釋該命令,因為大部分用戶也不需要認證。使用requirepass的時候需要
注意,因為redis太快了,每秒可以認證15w次密碼,簡單的密碼很容易被攻破,所以最好使用一個更復雜的密碼
# requirepass foobared
#把危險的命令給修改成其他名稱。比如CONFIG命令可以重命名為一個很難被猜到的命令,這樣用戶不能使用,而
內部工具還能接著使用
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
#設置成一個空的值,可以禁止一個命令
# rename-command CONFIG ""
CLIENTS
# 設置能連上redis的最大客戶端連接數(shù)量。默認是10000個客戶端連接。由于redis不區(qū)分連接是客戶端連接還
是內部打開文件或者和slave連接等,所以maxclients最小建議設置到32。如果超過了maxclients,redis會給
新的連接發(fā)送'max number of clients reached',并關閉連接
# maxclients 10000
MEMORY MANAGEMENT
redis配置的最大內存容量。當內存滿了,需要配合maxmemory-policy策略進行處理。注意slave的輸出緩沖區(qū)
是不計算在maxmemory內的。所以為了防止主機內存使用完,建議設置的maxmemory需要更小一些
maxmemory 122000000
#內存容量超過maxmemory后的處理策略。
#volatile-lru:利用LRU算法移除設置過過期時間的key。
#volatile-random:隨機移除設置過過期時間的key。
#volatile-ttl:移除即將過期的key,根據最近過期時間來刪除(輔以TTL)
#allkeys-lru:利用LRU算法移除任何key。
#allkeys-random:隨機移除任何key。
#noeviction:不移除任何key,只是返回一個寫錯誤。
#上面的這些驅逐策略,如果redis沒有合適的key驅逐,對于寫命令,還是會返回錯誤。redis將不再接收寫請求,只接收get請求。寫命令包括:set setnx setex append incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby getset mset msetnx exec sort。
# maxmemory-policy noeviction
# lru檢測的樣本數(shù)。使用lru或者ttl淘汰算法,從需要淘汰的列表中隨機選擇sample個key,選出閑置時間最長的key移除
# maxmemory-samples 5
# 是否開啟salve的最大內存
# replica-ignore-maxmemory yes
LAZY FREEING
#以非阻塞方式釋放內存
#使用以下配置指令調用了
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
APPEND ONLY MODE
#Redis 默認不開啟。它的出現(xiàn)是為了彌補RDB的不足(數(shù)據的不一致性),所以它采用日志的形式來記錄每個寫
操作,并追加到文件中。Redis 重啟的會根據日志文件的內容將寫指令從前到后執(zhí)行一次以完成數(shù)據的恢復工作
默認redis使用的是rdb方式持久化,這種方式在許多應用中已經足夠用了。但是redis如果中途宕機,會導致可
能有幾分鐘的數(shù)據丟失,根據save來策略進行持久化,Append Only File是另一種持久化方式,可以提供更好的
持久化特性。Redis會把每次寫入的數(shù)據在接收后都寫入 appendonly.aof 文件,每次啟動時Redis都會先把這
個文件的數(shù)據讀入內存里,先忽略RDB文件。若開啟rdb則將no改為yes
appendonly no
指定本地數(shù)據庫文件名,默認值為 appendonly.aof
appendfilename "appendonly.aof"
#aof持久化策略的配置
#no表示不執(zhí)行fsync,由操作系統(tǒng)保證數(shù)據同步到磁盤,速度最快
#always表示每次寫入都執(zhí)行fsync,以保證數(shù)據同步到磁盤
#everysec表示每秒執(zhí)行一次fsync,可能會導致丟失這1s數(shù)據
# appendfsync always
appendfsync everysec
# appendfsync no
# 在aof重寫或者寫入rdb文件的時候,會執(zhí)行大量IO,此時對于everysec和always的aof模式來說,執(zhí)行
fsync會造成阻塞過長時間,no-appendfsync-on-rewrite字段設置為默認設置為no。如果對延遲要求很高的
應用,這個字段可以設置為yes,否則還是設置為no,這樣對持久化特性來說這是更安全的選擇。設置為yes表
示rewrite期間對新寫操作不fsync,暫時存在內存中,等rewrite完成后再寫入,默認為no,建議yes。Linux的
默認fsync策略是30秒??赡軄G失30秒數(shù)據
no-appendfsync-on-rewrite no
#aof自動重寫配置。當目前aof文件大小超過上一次重寫的aof文件大小的百分之多少進行重寫,即當aof文件
增長到一定大小的時候Redis能夠調用bgrewriteaof對日志文件進行重寫。當前AOF文件大小是上次日志重寫得
到AOF文件大小的二倍(設置為100)時,自動啟動新的日志重寫過程
auto-aof-rewrite-percentage 100
#設置允許重寫的最小aof文件大小,避免了達到約定百分比但尺寸仍然很小的情況還要重寫
auto-aof-rewrite-min-size 64mb
#aof文件可能在尾部是不完整的,當redis啟動的時候,aof文件的數(shù)據被載入內存。重啟可能發(fā)生在redis所
在的主機操作系統(tǒng)宕機后,尤其在ext4文件系統(tǒng)沒有加上data=ordered選項(redis宕機或者異常終止不會造
成尾部不完整現(xiàn)象。)出現(xiàn)這種現(xiàn)象,可以選擇讓redis退出,或者導入盡可能多的數(shù)據。如果選擇的是yes,
當截斷的aof文件被導入的時候,會自動發(fā)布一個log給客戶端然后load。如果是no,用戶必須手動redis-
check-aof修復AOF文件才可以
aof-load-truncated yes
#加載redis時,可以識別AOF文件以“redis”開頭。
#字符串并加載帶前綴的RDB文件,然后繼續(xù)加載AOF尾巴
aof-use-rdb-preamble yes
LUA SCRIPTING
# 如果達到最大時間限制(毫秒),redis會記個log,然后返回error。當一個腳本超過了最大時限。只有
SCRIPT KILL和SHUTDOWN NOSAVE可以用。第一個可以殺沒有調write命令的東西。要是已經調用了write,只能
用第二個命令殺
lua-time-limit 5000
REDIS CLUSTER
# 集群開關,默認是不開啟集群模式
# cluster-enabled yes
#集群配置文件的名稱,每個節(jié)點都有一個集群相關的配置文件,持久化保存集群的信息。這個文件并不需要手動
配置,這個配置文件有Redis生成并更新,每個Redis集群節(jié)點需要一個單獨的配置文件,請確保與實例運行的系
統(tǒng)中配置文件名稱不沖突
# cluster-config-file nodes-6379.conf
#節(jié)點互連超時的閥值。集群節(jié)點超時毫秒數(shù)
# cluster-node-timeout 15000
#在進行故障轉移的時候,全部slave都會請求申請為master,但是有些slave可能與master斷開連接一段時間
了,導致數(shù)據過于陳舊,這樣的slave不應該被提升為master。該參數(shù)就是用來判斷slave節(jié)點與master斷線的時
間是否過長。判斷方法是:
#比較slave斷開連接的時間和(node-timeout * slave-validity-factor) + repl-ping-slave-period
#如果節(jié)點超時時間為三十秒, 并且slave-validity-factor為10,假設默認的repl-ping-slave-period是10
秒,即如果超過310秒slave將不會嘗試進行故障轉移
# cluster-replica-validity-factor 10
# master的slave數(shù)量大于該值,slave才能遷移到其他孤立master上,如這個參數(shù)若被設為2,那么只有當一
個主節(jié)點擁有2 個可工作的從節(jié)點時,它的一個從節(jié)點會嘗試遷移
# cluster-migration-barrier 1
#默認情況下,集群全部的slot有節(jié)點負責,集群狀態(tài)才為ok,才能提供服務。設置為no,可以在slot沒有全
部分配的時候提供服務。不建議打開該配置,這樣會造成分區(qū)的時候,小分區(qū)的master一直在接受寫請求,而
造成很長時間數(shù)據不一致
# cluster-require-full-coverage yes
CLUSTER DOCKER/NAT support
#*群集公告IP
#*群集公告端口
#*群集公告總線端口
# Example:
#
# cluster-announce-ip 10.1.1.5
# cluster-announce-port 6379
# cluster-announce-bus-port 6380
SLOW LOG
# slog log是用來記錄redis運行中執(zhí)行比較慢的命令耗時。當命令的執(zhí)行超過了指定時間,就記錄在slow log
中,slog log保存在內存中,所以沒有IO操作。
#執(zhí)行時間比slowlog-log-slower-than大的請求記錄到slowlog里面,單位是微秒,所以1000000就是1秒。注
意,負數(shù)時間會禁用慢查詢日志,而0則會強制記錄所有命令。
slowlog-log-slower-than 10000
#慢查詢日志長度。當一個新的命令被寫進日志的時候,最老的那個記錄會被刪掉。這個長度沒有限制。只要有足
夠的內存就行。你可以通過 SLOWLOG RESET 來釋放內存
slowlog-max-len 128
LATENCY MONITOR
#延遲監(jiān)控功能是用來監(jiān)控redis中執(zhí)行比較緩慢的一些操作,用LATENCY打印redis實例在跑命令時的耗時圖表。
只記錄大于等于下邊設置的值的操作。0的話,就是關閉監(jiān)視。默認延遲監(jiān)控功能是關閉的,如果你需要打開,也
可以通過CONFIG SET命令動態(tài)設置
latency-monitor-threshold 0
EVENT NOTIFICATION
#鍵空間通知使得客戶端可以通過訂閱頻道或模式,來接收那些以某種方式改動了 Redis 數(shù)據集的事件。因為開啟鍵空間通知功能需要消耗一些 CPU ,所以在默認配置下,該功能處于關閉狀態(tài)。
#notify-keyspace-events 的參數(shù)可以是以下字符的任意組合,它指定了服務器該發(fā)送哪些類型的通知:
##K 鍵空間通知,所有通知以 __keyspace@__ 為前綴
##E 鍵事件通知,所有通知以 __keyevent@__ 為前綴
##g DEL 、 EXPIRE 、 RENAME 等類型無關的通用命令的通知
##$ 字符串命令的通知
##l 列表命令的通知
##s 集合命令的通知
##h 哈希命令的通知
##z 有序集合命令的通知
##x 過期事件:每當有過期鍵被刪除時發(fā)送
##e 驅逐(evict)事件:每當有鍵因為 maxmemory 政策而被刪除時發(fā)送
##A 參數(shù) g$lshzxe 的別名
#輸入的參數(shù)中至少要有一個 K 或者 E,否則的話,不管其余的參數(shù)是什么,都不會有任何 通知被分發(fā)。詳細使用可以參考http://redis.io/topics/notifications
notify-keyspace-events ""
ADVANCED CONFIG
# 數(shù)據量小于等于hash-max-ziplist-entries的用ziplist,大于hash-max-ziplist-entries用hash
hash-max-ziplist-entries 512
# value大小小于等于hash-max-ziplist-value的用ziplist,大于hash-max-ziplist-value用hash
hash-max-ziplist-value 64
#-5:最大大?。?4 KB--不建議用于正常工作負載
#-4:最大大?。?2 KB--不推薦
#-3:最大大小:16 KB--可能不推薦
#-2:最大大?。?kb--良好
#-1:最大大?。?kb--良好
list-max-ziplist-size -2
#0:禁用所有列表壓縮
#1:深度1表示“在列表中的1個節(jié)點之后才開始壓縮,
#從頭部或尾部
#所以:【head】->node->node->…->node->【tail】
#[頭部],[尾部]將始終未壓縮;內部節(jié)點將壓縮。
#2:[頭部]->[下一步]->節(jié)點->節(jié)點->…->節(jié)點->[上一步]->[尾部]
#2這里的意思是:不要壓縮頭部或頭部->下一個或尾部->上一個或尾部,
#但是壓縮它們之間的所有節(jié)點。
#3:[頭部]->[下一步]->[下一步]->節(jié)點->節(jié)點->…->節(jié)點->[上一步]->[上一步]->[尾部]
list-compress-depth 0
# 數(shù)據量小于等于set-max-intset-entries用iniset,大于set-max-intset-entries用set
set-max-intset-entries 512
#數(shù)據量小于等于zset-max-ziplist-entries用ziplist,大于zset-max-ziplist-entries用zset
zset-max-ziplist-entries 128
#value大小小于等于zset-max-ziplist-value用ziplist,大于zset-max-ziplist-value用zset
zset-max-ziplist-value 64
#value大小小于等于hll-sparse-max-bytes使用稀疏數(shù)據結構(sparse),大于hll-sparse-max-bytes使
用稠密的數(shù)據結構(dense)。一個比16000大的value是幾乎沒用的,建議的value大概為3000。如果對CPU要
求不高,對空間要求較高的,建議設置到10000左右
hll-sparse-max-bytes 3000
#宏觀節(jié)點的最大流/項目的大小。在流數(shù)據結構是一個基數(shù)
#樹節(jié)點編碼在這項大的多。利用這個配置它是如何可能#大節(jié)點配置是單字節(jié)和
#最大項目數(shù),這可能包含了在切換到新節(jié)點的時候
# appending新的流條目。如果任何以下設置來設置
# ignored極限是零,例如,操作系統(tǒng),它有可能只是一集
通過設置限制最大#紀錄到最大字節(jié)0和最大輸入到所需的值
stream-node-max-bytes 4096
stream-node-max-entries 100
#Redis將在每100毫秒時使用1毫秒的CPU時間來對redis的hash表進行重新hash,可以降低內存的使用。當你
的使用場景中,有非常嚴格的實時性需要,不能夠接受Redis時不時的對請求有2毫秒的延遲的話,把這項配置
為no。如果沒有這么嚴格的實時性要求,可以設置為yes,以便能夠盡可能快的釋放內存
activerehashing yes
##對客戶端輸出緩沖進行限制可以強迫那些不從服務器讀取數(shù)據的客戶端斷開連接,用來強制關閉傳輸緩慢的客戶端。
#對于normal client,第一個0表示取消hard limit,第二個0和第三個0表示取消soft limit,normal
client默認取消限制,因為如果沒有尋問,他們是不會接收數(shù)據的
client-output-buffer-limit normal 0 0 0
#對于slave client和MONITER client,如果client-output-buffer一旦超過256mb,又或者超過64mb持續(xù)
60秒,那么服務器就會立即斷開客戶端連接
client-output-buffer-limit replica 256mb 64mb 60
#對于pubsub client,如果client-output-buffer一旦超過32mb,又或者超過8mb持續(xù)60秒,那么服務器就
會立即斷開客戶端連接
client-output-buffer-limit pubsub 32mb 8mb 60
# 這是客戶端查詢的緩存極限值大小
# client-query-buffer-limit 1gb
#在redis協(xié)議中,批量請求,即表示單個字符串,通常限制為512 MB。但是您可以更改此限制。
# proto-max-bulk-len 512mb
#redis執(zhí)行任務的頻率為1s除以hz
hz 10
#當啟用動態(tài)赫茲時,實際配置的赫茲將用作作為基線,但實際配置的赫茲值的倍數(shù)
#在連接更多客戶端后根據需要使用。這樣一個閑置的實例將占用很少的CPU時間,而繁忙的實例將反應更靈敏
dynamic-hz yes
#在aof重寫的時候,如果打開了aof-rewrite-incremental-fsync開關,系統(tǒng)會每32MB執(zhí)行一次fsync。這
對于把文件寫入磁盤是有幫助的,可以避免過大的延遲峰值
aof-rewrite-incremental-fsync yes
#在rdb保存的時候,如果打開了rdb-save-incremental-fsync開關,系統(tǒng)會每32MB執(zhí)行一次fsync。這
對于把文件寫入磁盤是有幫助的,可以避免過大的延遲峰值
rdb-save-incremental-fsync yes
ACTIVE DEFRAGMENTATION
# 已啟用活動碎片整理
# activedefrag yes
# 啟動活動碎片整理的最小碎片浪費量
# active-defrag-ignore-bytes 100mb
# 啟動活動碎片整理的最小碎片百分比
# active-defrag-threshold-lower 10
# 我們使用最大努力的最大碎片百分比
# active-defrag-threshold-upper 100
# 以CPU百分比表示的碎片整理的最小工作量
# active-defrag-cycle-min 5
# 在CPU的百分比最大的努力和碎片整理
# active-defrag-cycle-max 75
#將從中處理的set/hash/zset/list字段的最大數(shù)目
#主詞典掃描
# active-defrag-max-scan-fields 1000
到此這篇關于redis配置文件中常用配置詳解的文章就介紹到這了,更多相關redis配置文件常用配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- redis中修改配置文件中的端口號 密碼方法
- redis3.2配置文件redis.conf詳細說明
- Redis配置文件redis.conf詳細配置說明
- 詳解spring boot starter redis配置文件
- Redis2.8配置文件中文詳解
- redis2.8配置文件中文翻譯版
- Redis配置文件詳解
- redis配置文件redis.conf中文版(基于2.4)