1. 程式人生 > >Redis redis.conf 重要選項配置

Redis redis.conf 重要選項配置



**############### 一般配置  ###############**
daemonize yes		#是否以後臺守護程序執行,預設為no 
pidfile /var/run/redis.pid #如以後臺守護程序執行,則需指定一個pid,預設為/var/run/redis.pid 
bind 127.0.0.1 		#繫結主機IP,預設值為127.0.0.1(註釋) 
port 6379 			#監聽埠,預設為6379。如果埠設定為0,Redis就不會監聽TCP套接字。
timeout 300 		#超時時間,預設為300(秒) 

loglevel notice  	#日誌級別,有4個可選值,debug,verbose(預設值),notice,warning
					# debug :(大量資訊,對開發/測試有用)
					# verbose :(很多精簡的有用資訊,但是不像debug等級那麼多)
					# notice :(適量的資訊,基本上是你生產環境中需要的)
					# warning :(只有很重要/嚴重的資訊會記錄下來)
					
logfile /var/log/redis.log   #日誌記錄方式,預設值為stdout 
syslog-enabled no    #是否將日誌輸出到系統日誌
databases 16   			#可用資料庫數,預設值為16,預設資料庫為0 


**############### 快照方式 ###############**

save 900 1     			#在900s(15m)之後,至少有1個key發生變化,則快照 
save 300 10    			#在300s(5m)之後,至少有10個key發生變化,則快照
save 60 10000  			#在60s(1m)之後,至少有1000個key發生變化,則快照

rdbcompression yes 		#dump時是否壓縮資料,預設為yes 
dbfilename dump.rdb 	#壓縮資料的檔名,預設值為dump.rdb 
dir ./ 					#資料(dump.rdb)檔案存放目錄,預設值為 ./


**############### 主從複製 ###############**

slaveof <master_ip> <master_port> 		#主從複製使用,當本機為從服務時,設定主服務的IP及埠
masterauth <master-password> 			#當本機為從服務時,設定主服務的連線密碼
slave-serve-stale-data yes 	 #當slave與master之間的連線斷開或slave正在與master進行資料同步時,如果有slave請求,當設定為yes時,slave仍然響應請求,此時可能有問題,如果設定no時,slave會返回"SYNC with master in progress"錯誤資訊。但INFO和SLAVEOF命令除外。


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

requirepass foobared  	#連線密碼,redis速度相當快,一個外部使用者在一秒鐘進行150K次密碼嘗試,需指定一個高強度的密碼來防止暴力破解


**############### 限制 ###############**

maxclients 128 		#最大客戶端連線數,預設0不限制。
maxmemory <bytes>	#設定最大記憶體。
maxmemory-policy volatile-lru	#如果達到maxmemory值,採用此策略
								# volatile-lru :預設策略,只對設定過期時間的key進行LRU演算法刪除
								# allkeys-lru :刪除不經常使用的key
								# volatile-random :隨機刪除即將過期的key
								# allkeys-random :隨機刪除一個key
								# volatile-ttl :刪除即將過期的key
								# noeviction :不過期,寫操作返回報錯
					
maxmemory-samples 3   			#預設隨機選擇3個key,從中淘汰最不經常用的


############### 附加模式 ###############

appendonly no 			#是否在每次更新操作後進行日誌記錄,如果不開啟,可能會在斷電時導致一段時間內的資料丟失。因為redis本身同步資料檔案是按上面save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。預設值為no 
appendfilename appendonly.aof 	#更新日誌檔名,預設值為appendonly.aof(註釋) 
appendfsync everysec 	# 更新日誌條件,共有3個可選值。
						# always 表示每次更新操作後手動呼叫fsync()將資料寫到appendonly.aof
						# everysec  預設方式,表示每秒同步一次appendonly.aof
						# no 不同步,資料不會持久化
no-appendfsync-on-rewrite no   #當AOF日誌檔案即將增長到指定百分比時,redis通過呼叫BGREWRITEAOF是否自動重寫AOF日誌檔案。	
						


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

really-use-vm yes 
vm-enabled yes 			#是否啟用虛擬記憶體機制,預設值為no,虛擬記憶體機將資料分頁存放,把很少訪問的頁放到swap上,記憶體佔用多,最好關閉虛擬記憶體
vm-swap-file /tmp/redis.swap 	#虛擬記憶體檔案路徑,預設值為/tmp/redis.swap,不可多個Redis例項共享 
vm-max-memory 0 		#redis使用的最大記憶體上限,保護redis不會因過多使用實體記憶體影響效能。0:不限制,建議60-80% 可用記憶體大小。 
vm-page-size 32 		#根據快取內容大小調整,預設32位元組。 
vm-pages 134217728 		#設定swap檔案中頁面數量。每 8 page,會佔用1位元組記憶體。 
vm-page-size 			#vm-pages 等於 swap 檔案大小 
vm-max-threads 4 		#vm 最大io執行緒數,即訪問swap檔案的執行緒數。注意: 0 標誌禁止使用vm 


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

hash-max-zipmap-entries 512   	#雜湊表中元素(條目)總個數不超過設定數量時,採用線性緊湊格式儲存來節省空間
hash-max-zipmap-value 64     	#雜湊表中每個value的長度不超過多少位元組時,採用線性緊湊格式儲存來節省空間

list-max-ziplist-entries 512  	#list資料型別多少節點以下會採用去指標的緊湊儲存格式
list-max-ziplist-value 64    	#list資料型別節點值大小小於多少位元組會採用緊湊儲存格式
set-max-intset-entries 512   	#set資料型別內部資料如果全部是數值型,且包含多少節點以下會採用緊湊格式儲存
activerehashing yes        		#是否啟用重置雜湊