1. 程式人生 > 程式設計 >Redis配置檔案詳解

Redis配置檔案詳解


title: Redis配置檔案詳解 date: 2019-11-11 17:50:50 tags:

  • Redis

啟動方式

 預設情況下,redis不是在後臺執行的,如果需要在後臺執行,把該項的值更改為yes
 daemonize no
複製程式碼

pid檔案路徑

當redis在後臺執行的時候,Redis預設會把pid檔案放在/var/run/redis.pid,你可以配置到其他地址。 當執行多個redis服務時,需要指定不同的pid檔案和埠 
 pidfile /var/run/redis.pid
複製程式碼

指定接收地址

指定redis只接收來自於該IP地址的請求,如果不進行設定,那麼將處理所有請求,
> bind
127.0.0.1 複製程式碼

超時時間

> timeout 0
複製程式碼

資料庫數

> databases 16
複製程式碼

儲存資料到磁碟,格式如下:

#
# save <seconds> <changes>
#
# 指出在多長時間內,有多少次更新操作,就將資料同步到資料檔案rdb。
# 相當於條件觸發抓取快照,這個可以多個條件配合
#
# 比如預設配置檔案中的設定,就設定了三個條件
#
# save 900 1 900秒內至少有1個key被改變
# save 300 10 300秒內至少有300個key被改變
# save 60 10000 60秒內至少有10000個key被改變

save 900 1
save 300 10
save 60 10000
複製程式碼

最大連線數

# 設定同一時間最大客戶端連線數,預設無限制,Redis可以同時開啟的客戶端連線數為Redis程式可以開啟的最大檔案描述符數,
# 如果設定 maxclients 0,表示不作限制。
# 當客戶端連線數到達限制時,Redis會關閉新的連線並向客戶端返回max number of clients reached錯誤資訊
#
# maxclients 128
複製程式碼

指定Redis最大記憶體限制

# 指定Redis最大記憶體限制,Redis在啟動時會把資料載入到記憶體中,達到最大記憶體後,Redis會先嚐試清除已到期或即將到期的Key
# Redis同時也會移除空的list物件
#
# 當此方法處理後,仍然到達最大記憶體設定,將無法再進行寫入操作,但仍然可以進行讀取操作 # # 注意:Redis新的vm機制,會把Key存放記憶體,Value會存放在swap區 # # maxmemory的設定比較適合於把redis當作於類似memcached的快取來使用,而不適合當做一個真實的DB。 # 當把Redis當做一個真實的資料庫使用的時候,記憶體使用將是一個很大的開銷 # maxmemory <bytes> 複製程式碼

當記憶體達到最大值的時候Redis會選擇刪除哪些資料?有五種方式可供選擇

# volatile-lru -> 利用LRU演演算法移除設定過過期時間的key (LRU:最近使用 Least Recently Used )
# allkeys-lru -> 利用LRU演演算法移除任何key
# volatile-random -> 移除設定過過期時間的隨機key
# allkeys->random -> remove a random key,any key
# volatile-ttl -> 移除即將過期的key(minor TTL)
# noeviction -> 不移除任何可以,只是返回一個寫錯誤
#
# 注意:對於上面的策略,如果沒有合適的key可以移除,當寫的時候Redis會返回一個錯誤
複製程式碼

密碼

# 設定客戶端連線後進行任何其他指定前需要使用的密碼。
# 警告:因為redis速度相當快,所以在一臺比較好的伺服器下,一個外部的使用者可以在一秒鐘進行150K次的密碼嘗試,這意味著你需要指定非常非常強大的密碼來防止暴力破解
#
# requirepass foobared

# 當master服務設定了密碼保護時(用requirepass制定的密碼)
# slav服務連線master的密碼
#
# masterauth <master-password>
複製程式碼