您好,登錄后才能下訂單哦!
######################### 通用 #########################
# 啟動(dòng)后臺(tái)進(jìn)程
daemonize yes
# 后臺(tái)進(jìn)程的pid文件存儲(chǔ)位置
pidfile /var/run/redis.pid
# 默認(rèn)監(jiān)聽端口
port 6379
# 在高并發(fā)的環(huán)境中,為避免慢客戶端的連接問題,需要設(shè)置一個(gè)高速后臺(tái)日志
tcp-backlog 511
# 只接受以下綁定的IP請求
# Examples:
# bind 192.168.1.100 10.0.0.1
bind 127.0.0.1
# 設(shè)置unix監(jiān)聽,默認(rèn)為空
# unixsocket /tmp/redis.sock
# unixsocketperm 700
#客戶端空閑多長時(shí)間,關(guān)閉鏈接,0表示不關(guān)閉
timeout 0
# TCP keepalive.
# 如果是非零值,當(dāng)失去鏈接時(shí),會(huì)使用SO_KEEPALIVE發(fā)送TCP ACKs 到客戶端。
# 這個(gè)參數(shù)有兩個(gè)作用:
# 1.檢測斷點(diǎn)。
# 2.從網(wǎng)絡(luò)中間設(shè)備來看,就是保持鏈接
# 在Linux上,設(shè)定的時(shí)間就是發(fā)送ACKs的周期。
# 注意:達(dá)到雙倍的設(shè)定時(shí)間才會(huì)關(guān)閉鏈接。在其他內(nèi)核上,周期依賴于內(nèi)核設(shè)置。
# 一個(gè)比較合理的值為60s
tcp-keepalive 0
# 指定日志級別,以下記錄信息依次遞減
# debug用于開發(fā)/測試
# verbose沒debug那么詳細(xì)
# notice適用于生產(chǎn)線
# warning只記錄非常重要的信息
loglevel notice
#日志文件名稱,如果為stdout則輸出到標(biāo)準(zhǔn)輸出端,如果是以后臺(tái)進(jìn)程運(yùn)行則不產(chǎn)生日志
logfile ""
# 要想啟用系統(tǒng)日志記錄器,設(shè)置一下選項(xiàng)為yes
# syslog-enabled no
# 指明syslog身份
# syslog-ident redis
# 指明syslog設(shè)備。必須是一個(gè)用戶或者是local0 ~ local7之一
# syslog-facility local0
#設(shè)置數(shù)據(jù)庫數(shù)目,第一個(gè)數(shù)據(jù)庫編號為:0
databases 16
######################### 快照 #########################
# 在什么條件下保存數(shù)據(jù)庫到磁盤,條件可以有很多個(gè),滿足任何一個(gè)條件都會(huì)進(jìn)行快照存儲(chǔ)
# 在900秒之內(nèi)有一次key的變化
save 900 1
# 在300秒之內(nèi),有10個(gè)key的變化
save 300 10
# 在60秒之內(nèi)有10000個(gè)key變化
save 60 10000
# 當(dāng)持久化失敗的時(shí)候,是否繼續(xù)提供服務(wù)
stop-writes-on-bgsave-error yes
# 當(dāng)寫入磁盤時(shí),是否使用LZF算法壓縮數(shù)據(jù),默認(rèn)為yes
rdbcompression yes
# 是否添加CRC64校驗(yàn)到每個(gè)文件末尾--花費(fèi)時(shí)間保證安全
rdbchecksum yes
# 磁盤上數(shù)據(jù)庫的保存名稱
dbfilename dump.rdb
# Redis工作目錄,以上數(shù)據(jù)庫保存文件和AOF日志都會(huì)寫入此目錄
dir ./
######################### 主從同步 #########################
# 主從復(fù)制,當(dāng)本機(jī)是slave時(shí)配置
# slaveof <masterip> <masterport>
# 當(dāng)主機(jī)需要密碼驗(yàn)證時(shí)候配置
# masterauth <master-password>
# 當(dāng)slave和master丟失鏈接,或正處于同步過程中。是否響應(yīng)客戶端請求
# 設(shè)置為yes表示響應(yīng)
# 設(shè)置為no,直接返回"SYNC with master in progress"(正在和主服務(wù)器同步中)
slave-serve-stale-data yes
# 設(shè)置slave是否為只讀。
# 注意:即使slave設(shè)置為只讀,也不能令其暴露在不受信任的網(wǎng)絡(luò)環(huán)境中
slave-read-only yes
# 無硬盤復(fù)制功能
repl-diskless-sync no
# 等待多個(gè)slave一起來請求之間的間隔時(shí)間
repl-diskless-sync-delay 5
# 設(shè)置slave給master發(fā)送ping的時(shí)間間隔
# repl-ping-slave-period 10
# 設(shè)置數(shù)據(jù)傳輸I/O,主機(jī)數(shù)據(jù)、ping響應(yīng)超時(shí)時(shí)間,默認(rèn)60s
# 這個(gè)時(shí)間一定要比repl-ping-slave-period大,否則會(huì)不斷檢測到超時(shí)
# repl-timeout 60
# 是否在SYNC后slave socket上禁用TCP_NODELAY?
# 如果你設(shè)置為yes,Redis會(huì)使用少量TCP報(bào)文和少量帶寬發(fā)送數(shù)據(jù)給slave。
# 但是這樣會(huì)在slave端出現(xiàn)延遲。如果使用Linux內(nèi)核的默認(rèn)設(shè)置,大概40毫秒。
# 如果你設(shè)置為no,那么在slave端研究就會(huì)減少但是同步帶寬要增加。
# 默認(rèn)我們是為低延遲優(yōu)化的。
# 但是如果流量特別大或者主從服務(wù)器相距比較遠(yuǎn),設(shè)置為yes比較合理。
repl-disable-tcp-nodelay no
# 設(shè)置復(fù)制的后臺(tái)日志大小。
# 復(fù)制的后臺(tái)日志越大, slave 斷開連接及后來可能執(zhí)行部分復(fù)制花的時(shí)間就越長。
# 后臺(tái)日志在至少有一個(gè) slave 連接時(shí),僅僅分配一次。
# repl-backlog-size 1mb
# 在 master 不再連接 slave 后,后臺(tái)日志將被釋放。下面的配置定義從最后一個(gè) slave 斷開連接后需要釋放的時(shí)間(秒)。
# 0 意味著從不釋放后臺(tái)日志
# repl-backlog-ttl 3600
# 設(shè)置slave優(yōu)先級,默認(rèn)為100
# 當(dāng)主服務(wù)器不能正確工作的時(shí)候,數(shù)字低的首先被提升為主服務(wù)器,但是0是禁用選擇
slave-priority 100
# 如果少于 N 個(gè) slave 連接,且延遲時(shí)間 <=M 秒,則 master 可配置停止接受寫操作。
# 例如需要至少 3 個(gè) slave 連接,且延遲 <=10 秒的配置:
# min-slaves-to-write 3
# min-slaves-max-lag 10
# 設(shè)置 0 為禁用
# 默認(rèn) min-slaves-to-write 為 0 (禁用), min-slaves-max-lag 為 10
######################### 安全 #########################
# 設(shè)置客戶端連接密碼,因?yàn)镽edis響應(yīng)速度可以達(dá)到每秒100w次,所以密碼要特別復(fù)雜
# requirepass 1413
# 命令重新命名,或者禁用。
# 重命名命令為空字符串可以禁用一些危險(xiǎn)命令比如:FLUSHALL刪除所有數(shù)據(jù)
# 需要注意的是,寫入AOF文件或傳送給slave的命令別名也許會(huì)引起一些問題
# rename-command CONFIG ""
# 設(shè)置客戶端連接密碼,因?yàn)镽edis響應(yīng)速度可以達(dá)到每秒100w次,所以密碼要特別復(fù)雜
requirepass 1413
# 命令重新命名,或者禁用。
# 重命名命令為空字符串可以禁用一些危險(xiǎn)命令比如:FLUSHALL刪除所有數(shù)據(jù)
# 需要注意的是,寫入AOF文件或傳送給slave的命令別名也許會(huì)引起一些問題
# rename-command CONFIG ""
######################### 限制 #########################
# 設(shè)置最多鏈接客戶端數(shù)量,默認(rèn)為10000。
# 實(shí)際可以接受的請求數(shù)目為設(shè)置值減去32,這32是Redis為內(nèi)部文件描述符保留的
# maxclients 10000
# 設(shè)置最多鏈接客戶端數(shù)量,默認(rèn)為10000。
# 實(shí)際可以接受的請求數(shù)目為設(shè)置值減去32,這32是Redis為內(nèi)部文件描述符保留的
# maxclients 10000
# 設(shè)置最大使用內(nèi)存數(shù)量,在把Redis當(dāng)作LRU緩存時(shí)特別有用。
# 設(shè)置的值要比系統(tǒng)能使用的值要小
# 因?yàn)楫?dāng)啟用刪除算法時(shí),slave輸出緩存也要占用內(nèi)存
# maxmemory <bytes>
#達(dá)到最大內(nèi)存限制時(shí),使用何種刪除算法
# volatile-lru 使用LRU算法移除帶有過期標(biāo)致的key
# allkeys-lru -> 使用LRU算法移除任何key
# volatile-random -> 隨機(jī)移除一個(gè)帶有過期標(biāo)致的key
# allkeys-random -> 隨機(jī)移除一個(gè)key
# volatile-ttl -> 移除最近要過期的key
# noeviction -> 不刪除key,當(dāng)有寫請求時(shí),返回錯(cuò)誤
#默認(rèn)設(shè)置為volatile-lru
# maxmemory-policy noeviction
# LRU和最小TTL算法沒有精確的實(shí)現(xiàn)
# 為了節(jié)省內(nèi)存只在一個(gè)樣本范圍內(nèi)選擇一個(gè)最近最少使用的key,可以設(shè)置這個(gè)樣本大小
# maxmemory-samples 5
######################### AO模式 #########################
# AOF和RDB持久化可以同時(shí)啟用
# Redis啟動(dòng)時(shí)候會(huì)讀取AOF文件,AOF文件有更好的持久化保證
appendonly no
# AOF的保存名稱,默認(rèn)為appendonly.aof
appendfilename "appendonly.aof"
# 設(shè)置何時(shí)寫入追加日志,又三種模式
# no:表示由操作系統(tǒng)決定何時(shí)寫入。性能最好,但可靠性最低
# everysec:表示每秒執(zhí)行一次寫入。折中方案,推薦
# always:表示每次都寫入磁盤。性能最差,比上面的安全一些
# appendfsync always
appendfsync everysec
# appendfsync no
# 當(dāng)AOF同步策略設(shè)定為alway或everysec
# 當(dāng)后臺(tái)存儲(chǔ)進(jìn)程(后臺(tái)存儲(chǔ)或者AOF日志后臺(tái)寫入)會(huì)產(chǎn)生很多磁盤開銷
# 某些Linux配置會(huì)使Redis因?yàn)閒sync()調(diào)用產(chǎn)生阻塞很久
# 現(xiàn)在還沒有修復(fù)補(bǔ)丁,甚至使用不同線程進(jìn)行fsync都會(huì)阻塞我們的同步write(2)調(diào)用。
# 為了緩解這個(gè)問題,使用以下選項(xiàng)在一個(gè)BGSAVE或BGREWRITEAOF運(yùn)行的時(shí)候
# 可以阻止fsync()在主程序中被調(diào)用,
no-appendfsync-on-rewrite no
# AOF自動(dòng)重寫(合并命令,減少日志大?。?/span>
# 當(dāng)AOF日志大小增加到一個(gè)特定比率,Redis調(diào)用BGREWRITEAOF自動(dòng)重寫日志文件
# 原理:Redis 會(huì)記錄上次重寫后AOF文件的文件大小。
# 如果剛啟動(dòng),則記錄啟動(dòng)時(shí)AOF大小
# 這個(gè)基本大小會(huì)用來和當(dāng)前大小比較。如果當(dāng)前大小比特定比率大,就會(huì)觸發(fā)重寫。
# 你也需要指定一個(gè)AOF需要被重寫的最小值,這樣會(huì)避免達(dá)到了比率。
# 但是AOF文件還很小的情況下重寫AOF文件。
# 設(shè)置為0禁用自動(dòng)重寫
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
#redis在啟動(dòng)時(shí)可以加載被截?cái)嗟腁OF文件,而不需要先執(zhí)行 redis-check-aof 工具
aof-load-truncated yes
######################### LUA腳本 #########################
# Lua腳本的最大執(zhí)行時(shí)間,單位毫秒
# 超時(shí)后會(huì)報(bào)錯(cuò),并且計(jì)入日志
# 當(dāng)一個(gè)腳本運(yùn)行時(shí)間超過了最大執(zhí)行時(shí)間
# 只有SCRIPT KILL和 SHUTDOWN NOSAVE兩個(gè)命令可以使用。
# SCRIPT KILL用于停止沒有調(diào)用寫命令的腳本。
# SHUTDOWN NOSAVE是唯一的一個(gè),在腳本的寫命令正在執(zhí)行
# 用戶又不想等待腳本的正常結(jié)束的情況下,關(guān)閉服務(wù)器的方法。
# 以下選項(xiàng)設(shè)置為0或負(fù)數(shù)就會(huì)取消腳本執(zhí)行時(shí)間限制
lua-time-limit 5000
####################### redis集群 ########################
# 是否啟用集群
# cluster-enabled yes
# 集群配置文件
# 集群配置變更后會(huì)自動(dòng)寫入改文件
# cluster-config-file nodes-6379.conf
# 節(jié)點(diǎn)互連超時(shí)的閥值
# 節(jié)點(diǎn)超時(shí)時(shí)間,超過該時(shí)間無法連接主要Master節(jié)點(diǎn)后,會(huì)停止接受查詢服務(wù)
# cluster-node-timeout 15000
# 控制從節(jié)點(diǎn)FailOver相關(guān)的設(shè)置,設(shè)為0,從節(jié)點(diǎn)會(huì)一直嘗試啟動(dòng)FailOver.
# 設(shè)為正數(shù),失聯(lián)大于一定時(shí)間(factor*節(jié)點(diǎn)TimeOut),不再進(jìn)行FailOver
# cluster-slave-validity-factor 10
# 最小從節(jié)點(diǎn)連接數(shù)
# cluster-migration-barrier 1
# 默認(rèn)為Yes,丟失一定比例Key后(可能Node無法連接或者掛掉),集群停止接受寫操作
# 設(shè)置為No,集群丟失Key的情況下仍提供查詢服務(wù)
# cluster-require-full-coverage yes
######################### 慢查詢 #########################
# Redis慢查詢?nèi)罩居涗洺^設(shè)定時(shí)間的查詢,且只記錄執(zhí)行命令的時(shí)間
# 不記錄I/O操作,比如:和客戶端交互,發(fā)送回復(fù)等。
# 時(shí)間單位為微妙,1000000微妙 = 1 秒
# 設(shè)置為負(fù)數(shù)會(huì)禁用慢查詢?nèi)罩?,設(shè)置為0會(huì)記錄所有查詢命令
slowlog-log-slower-than 10000
# 日志長度沒有限制,但是會(huì)消耗內(nèi)存。超過日志長度后,最舊的記錄會(huì)被移除
# 使用SLOWLOG RESET命令可以回收內(nèi)存
slowlog-max-len 128
######################### 延遲監(jiān)測 #########################
# 系統(tǒng)只記錄超過設(shè)定值的操作,單位是毫秒,0表示禁用該功能
# 可以通過命令“CONFIG SET latency-monitor-threshold <milliseconds>” 直接設(shè)置而不需要重啟redis
latency-monitor-threshold 0
######################### 事件通知 #########################
# 當(dāng)事件發(fā)生時(shí), Redis 可以通知 Pub/Sub 客戶端。
# 可以在下表中選擇 Redis 要通知的事件類型。事件類型由單個(gè)字符來標(biāo)識:
# K Keyspace 事件,以 _keyspace@<db>_ 的前綴方式發(fā)布
# E Keyevent 事件,以 _keysevent@<db>_ 的前綴方式發(fā)布
# g 通用事件(不指定類型),像 DEL, EXPIRE, RENAME, …
# $ String 命令
# s Set 命令
# h Hash 命令
# z 有序集合命令
# x 過期事件(每次 key 過期時(shí)生成)
# e 清除事件(當(dāng) key 在內(nèi)存被清除時(shí)生成)
# A g$lshzxe 的別稱,因此 ”AKE” 意味著所有的事件
# notify-keyspace-events 帶一個(gè)由 0 到多個(gè)字符組成的字符串參數(shù)??兆址馑际峭ㄖ唤?。
# 例子:啟用 list 和通用事件:
# notify-keyspace-events Elg
# 默認(rèn)所用的通知被禁用,因?yàn)橛脩敉ǔ2恍枰奶匦?,并且該特性?huì)有性能損耗。
# 注意如果你不指定至少 K 或 E 之一,不會(huì)發(fā)送任何事件。
notify-keyspace-events ""
#notify-keyspace-events AKE
######################### 高級設(shè)置 #########################
# 當(dāng)有少量條目的時(shí)候,哈希使用高效內(nèi)存數(shù)據(jù)結(jié)構(gòu)。最大的條目也不能超過設(shè)定的閾值。# “少量”定義如下:
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
# 和哈希編碼一樣,少量列表也以特殊方式編碼節(jié)省內(nèi)存?!吧倭俊痹O(shè)定如下:
list-max-ziplist-entries 512
list-max-ziplist-value 64
# 集合只在以下情況下使用特殊編碼來節(jié)省內(nèi)存
# -->集合全部由64位帶符號10進(jìn)制整數(shù)構(gòu)成的字符串組成
# 下面的選項(xiàng)設(shè)置這個(gè)特殊集合的大小。
set-max-intset-entries 512
# 當(dāng)有序集合的長度和元素設(shè)定為以下數(shù)字時(shí),又特殊編碼節(jié)省內(nèi)存
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
# HyperLogLog 稀疏表示字節(jié)限制
# 這個(gè)限制包含了16個(gè)字節(jié)的頭部,當(dāng)一個(gè)HyperLogLog使用sparse representation
# 超過了這個(gè)顯示,它就會(huì)轉(zhuǎn)換到dense representation上
hll-sparse-max-bytes 3000
# 哈希刷新使用每100個(gè)CPU毫秒中的1毫秒來幫助刷新主哈希表(頂級鍵值映射表)。
# Redis哈希表使用延遲刷新機(jī)制,越多操作,越多刷新。
# 如果服務(wù)器空閑,刷新操作就不會(huì)進(jìn)行,更多內(nèi)存會(huì)被哈希表占用
# 默認(rèn)每秒進(jìn)行10次主字典刷新,釋放內(nèi)存。
# 如果你有硬性延遲需求,偶爾2毫秒的延遲無法忍受的話。設(shè)置為no
# 否則設(shè)置為yes
activerehashing yes
# 客戶端輸出緩存限制強(qiáng)迫斷開讀取速度比較慢的客戶端
# 有三種類型的限制
# normal -> 正常
# slave -> slave和 MONITOR
# pubsub -> 客戶端至少訂閱了一個(gè)頻道或者模式
# 客戶端輸出緩存限制語法如下(時(shí)間單位:秒)
# client-output-buffer-limit <類別> <強(qiáng)制限制> <軟性限制> <軟性時(shí)間>
# 達(dá)到強(qiáng)制限制緩存大小,立刻斷開鏈接。
# 達(dá)到軟性限制,仍然會(huì)有軟性時(shí)間大小的鏈接時(shí)間
# 默認(rèn)正常客戶端無限制,只有請求后,異步客戶端數(shù)據(jù)請求速度快于它能讀取數(shù)據(jù)的速度
# 訂閱模式和主從客戶端又默認(rèn)限制,因?yàn)樗鼈兌冀邮芡扑汀?/span>
# 強(qiáng)制限制和軟性限制都可以設(shè)置為0來禁用這個(gè)特性
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
# 設(shè)置Redis后臺(tái)任務(wù)執(zhí)行頻率,比如清除過期鍵任務(wù)。
# 設(shè)置范圍為1到500,默認(rèn)為10.越大CPU消耗越大,延遲越小。
# 建議不要超過100
hz 10
# 當(dāng)子進(jìn)程重寫AOF文件,以下選項(xiàng)開啟時(shí),AOF文件會(huì)每產(chǎn)生32M數(shù)據(jù)同步一次。
# 這有助于更快寫入文件到磁盤避免延遲
aof-rewrite-incremental-fsync yes
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。