Redis配置檔案詳解
阿新 • • 發佈:2020-06-24
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>
複製程式碼