Redis配置檔案引數說明

2022-09-13 09:48:06 字數 3973 閱讀 1725

vim /etc/sysctl.conf

vm.overcommit_memory = 1

#最好不要設定為0,linux的oom機制在記憶體不足的情況下,會自動選擇性kill程序點數過高的程序,0會中招。

sysctl vm.overcommit_memory=1

0:表示核心將檢查是否有足夠的可用記憶體**用程序使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,並把錯誤返回給應用程序。

1:表示核心允許分配所有的物理記憶體,而不管當前的記憶體狀態如何。

2:表示核心允許分配超過所有物理記憶體和交換空間總和的記憶體

vim /etc/redis/redis.conf

##################基礎#################################

daemonize yes //是否以守護程序方式啟動

pidfile /var/run/redis.pid //如果要玩單機多開,需要設定不同path的pid,除非硬體特別緊張,一般不會

port 6379 //埠

tcp-backlog 600 //如果伺服器caps很高,需要把這個引數改大些。

timeout 0 //客戶端連線的超時時間,單位為秒,超時後會關閉連線,0永不超時

tcp-keepalive 0 //檢測掛掉的連線,單位s,0禁止

loglevel notice //日誌記錄等級,4個可選值 debug(除錯) > verbose(精簡) >notice(適量) > warning(警告)

logfile "./redis.log" //日誌檔案路徑

databases 6 //控制資料庫的總數預設客戶端進0號

##################rdb快照#################################

s**e 900 1 // 900秒(15分鐘)之後,且至少1次變更頻率不要太高,rdb快照代價比較高

s**e 300 10 //300秒(5分鐘)之後,且至少10次變更頻率不要太高,rdb快照代價比較高

s**e 60 1000

rdbcompression yes //快照時壓縮

dbfilename dump.rdb //快照名

dir ./ //快照檔案路徑

stop-writes-on-bgs**e-error yes //s**e失敗(快照)是否停止寫操作,如果有監控機制可以no

rdbchecksum yes //生成和載入的時候是否開啟crc64檢查,開啟後效能消耗大概10%,但更加安全

##################複製(從庫配置)#################################

sl**eof  ip位址 6379 //一旦配置(從配置,主不需要),則開啟主從複製

masterauth howbuy //配置主的密碼

sl**e-serve-stale-data no //從丟失主,或者同步過程中,是否可繼續響應客戶端

repl-disable-tcp-nodelay no //yes 合併tcp包節省頻寬,但產生40ms左右的延時。no 立馬傳送資料,無延遲。從太多,可以考慮yes

sl**e-priority 100 主掛了,從變主的概率,越小概率越高,但0表示永不做主機

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

requirepass howbuy //設定密碼

#################### 限制####################################

maxclients 128 //限制客戶端的連線數

maxmemory 2gb //最大記憶體最好不要超過空閒記憶體的3/5,超過32gb會自動進入64位世界,指標長度*2,20%的空間會被指標消耗,效能略有影響

maxmemory-policy allkeys-lru //4種策略volatile-lru、allkeys-lru、volatile-random、allkeys-random、noeviction根據 lru 演算法移除記憶體中所有的 key

maxmemory-samples 5 //五個key然後取最舊的那個,lru和最小ttl演算法的優化

lua-time-limit 5000 //乙個lua指令碼最長的執行時間為5000毫秒,0或負數表示無限執行時間

auto-aof-rewrite-percentage 100 //aof檔案體積擴大100%的時候重寫該日誌

auto-aof-rewrite-min-size 64mb //除了百分比,再加體積限制

aof-load-truncated yes //redis在啟動時可以載入被截斷的aof檔案

aof-rewrite-incremental-fsync yes //當修改aof檔案時,該設定為yes,則每生成32mb的資料,就進行同步

################## 慢查日誌###################################

slowlog-log-slower-than 1000000 //記錄超過1秒的操作

slowlog-max-len 50 //記錄50個

################ 虛擬記憶體 ###############################

#vm-enabled no //不用虛擬記憶體,太窮的話就沒必要用redis

################高階配置###############################

hash-max-ziplist-entries 512 //配置最大元素數,當超過該配置資料時,redis採用特殊hash演算法

hash-max-ziplist-value 64 //配置最大元素值,當超過配置值時,採用特殊hash演算法

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

set-max-intset-value 64

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 5000 //配置超重對數基數,cpu比較牛的情況下可以上10000

activerehashing yes //雜湊重新整理,如果你不太在意延遲而希望盡快釋放記憶體的話就設定

client-output-buffer-limit normal 0 0 0  //對客戶端輸出緩衝進行限制可以強迫那些就不從伺服器讀取資料的客戶端斷開連線。對於normalclient,第乙個0表示取消hardlimit,第二個0和第三個0表示取消soft limit,normalclient預設取消限制,因為如果沒有尋問,他們是不會接收資料的

client-output-buffer-limit sl**e 256mb 64mb 60  //對於sl**eclient和moniter client,如果client-output-buffer一旦超過256mb,又或者超過64mb持續60秒,那麼伺服器就會立即斷開客戶端連線。

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

hz 20 #redis內部排程(進行關閉timeout的客戶端,刪除過期key等等)頻率

################################ latency monitor##############################

#重要引數

daemonize yes #守護程序模式

s**e 60 1000 #當時間間隔超過60秒,或儲存超過1000條記錄時,進行持久化。

maxmemory 256mb #分配256mb記憶體

#注意:如果是主庫掛了,先把從庫的dump檔案拷貝到主庫/etc/redis目錄下在,再啟動主庫。

DHCP配置檔案常用引數說明

文中有不對或者有不清楚的地方,請大家告訴我,謝謝!dhcp配置檔案常用引數說明 使用linux系統自帶的rpm包安裝完dhcp後,配置檔案預設在 etc目錄下,配置檔案名稱為dhcpd.conf。dhcpd.conf通常包括三部分 parameters 引數 declarations 宣告 和opt...

spring檔案配置引數說明

1.1 default init method 方法名 定義在此配置檔案中的bean都會執行指定的init方法。2 default destroy method 方法名 定義在此配置檔案中的bean都會在執行指定的destroy方法。3 default lazy init false true 定義...

Web伺服器boa配置檔案引數說明

port boa伺服器監聽的埠,預設的埠是80。如果埠小於1024,則必須是root使用者啟動伺服器。user 連線到伺服器的客戶端的身份,可以是使用者名稱或uid。為什麼非要指定為檔案的所有者才能訪問網頁呢?nobody使用者也有讀許可權啊 group 連線到伺服器的客戶端的組,可以是組名或gid...