redis配置檔案詳解

2022-09-06 12:27:14 字數 3200 閱讀 9957

redis.conf 配置項說明如下:

1. redis預設不是以守護程序的方式執行,可以通過該配置項修改,使用yes啟用守護程序

daemonize no

2. 當redis以守護程序方式執行時,redis缺省會把pid寫入/var/run/redis.pid檔案,可以通過pidfile指定

pidfile /var/run/redis.pid

3. 指定redis監聽埠,預設埠為6379,作者在自己的一篇博文中解釋了為什麼選用6379作為預設埠,因為6379在手機按鍵上merz對應的號碼,而merz取自義大利歌女alessia merz的名字

port 6379

4. 繫結的主機位址

bind 127.0.0.1

5.當 客戶端閒置多長時間後關閉連線,如果指定為0,表示關閉該功能

timeout 300

6. 指定日誌記錄級別,redis總共支援四個級別:debug、verbose、notice、warning,預設為verbose

loglevel verbose

7. 日誌記錄方式,預設為標準輸出,如果配置redis為守護程序方式執行,而這裡又配置為日誌記錄方式為標準輸出,則日誌將會傳送給/dev/null

logfile stdout

8. 設定資料庫的數量,預設資料庫為0,可以使用select 命令在連線上指定資料庫id

databases 16

9. 指定在多長時間內,有多少次更新操作,就將資料同步到資料檔案,可以多個條件配合

s**e

redis預設配置檔案中提供了三個條件:

s**e 900 1

s**e 300 10

s**e 60 10000

分別表示900秒(15分鐘)內有1個更改,300秒(5分鐘)內有10個更改以及60秒內有10000個更改。

10. 指定儲存至本地資料庫時是否壓縮資料,預設為yes,redis採用lzf壓縮,如果為了節省cpu時間,可以關閉該選項,但會導致資料庫檔案變的巨大

rdbcompression yes

11. 指定本地資料庫檔名,預設值為dump.rdb

dbfilename dump.rdb

12. 指定本地資料庫存放目錄

dir ./

13. 設定當本機為sl**服務時,設定master服務的ip位址及埠,在redis啟動時,它會自動從master進行資料同步

sl**eof

14. 當master服務設定了密碼保護時,sl**服務連線master的密碼

masterauth

15. 設定redis連線密碼,如果配置了連線密碼,客戶端在連線redis時需要通過auth 命令提供密碼,預設關閉

requirepass foobared

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

maxclients 128

17. 指定redis最大記憶體限制,redis在啟動時會把資料載入到記憶體中,達到最大記憶體後,redis會先嘗試清除已到期或即將到期的key,當此方法處理 後,仍然到達最大記憶體設定,將無法再進行寫入操作,但仍然可以進行讀取操作。redis新的vm機制,會把key存放記憶體,value會存放在swap區

maxmemory

18. 指定是否在每次更新操作後進行日誌記錄,redis在預設情況下是非同步的把資料寫入磁碟,如果不開啟,可能會在斷電時導致一段時間內的資料丟失。因為 redis本身同步資料檔案是按上面s**e條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。預設為no

20. 指定更新日誌條件,共有3個可選值:

no:表示等作業系統進行資料快取同步到磁碟(快)

always:表示每次更新操作後手動呼叫fsync()將資料寫到磁碟(慢,安全)

everysec:表示每秒同步一次(折中,預設值)

21. 指定是否啟用虛擬記憶體機制,預設值為no,簡單的介紹一下,vm機制將資料分頁存放,由redis將訪問量較少的頁即冷資料swap到磁碟上,訪問多的頁面由磁碟自動換出到記憶體中(在後面的文章我會仔細分析redis的vm機制)

vm-enabled no

22. 虛擬記憶體檔案路徑,預設值為/tmp/redis.swap,不可多個redis例項共享

vm-swap-file /tmp/redis.swap

23. 將所有大於vm-max-memory的資料存入虛擬記憶體,無論vm-max-memory設定多小,所有索引資料都是記憶體儲存的(redis的索引資料 就是keys),也就是說,當vm-max-memory設定為0的時候,其實是所有value都存在於磁碟。預設值為0

vm-max-memory 0

24. redis swap檔案分成了很多的page,乙個物件可以儲存在多個page上面,但乙個page上不能被多個物件共享,vm-page-size是要根據儲存的 資料大小來設定的,作者建議如果儲存很多小物件,page大小最好設定為32或者64bytes;如果儲存很大大物件,則可以使用更大的page,如果不 確定,就使用預設值

vm-page-size 32

25. 設定swap檔案中的page數量,由於頁表(一種表示頁面空閒或使用的bitmap)是在放在記憶體中的,,在磁碟上每8個pages將消耗1byte的記憶體。

vm-pages 134217728

26. 設定訪問swap檔案的執行緒數,最好不要超過機器的核數,如果設定為0,那麼所有對swap檔案的操作都是序列的,可能會造成比較長時間的延遲。預設值為4

vm-max-threads 4

27. 設定在向客戶端應答時,是否把較小的包合併為乙個包傳送,預設為開啟

glueoutputbuf yes

28. 指定在超過一定的數量或者最大的元素超過某一臨界值時,採用一種特殊的雜湊演算法

hash-max-zipmap-entries 64

hash-max-zipmap-value 512

29. 指定是否啟用重置雜湊,預設為開啟(後面在介紹redis的雜湊演算法時具體介紹)

activerehashing yes

30. 指定包含其它的配置檔案,可以在同一主機上多個redis例項之間使用同乙份配置檔案,而同時各個例項又擁有自己的特定配置檔案

include /path/to/local.conf

redis配置檔案詳解

bean redisconnectionfactory public redisconnectionfactory redisconnectionfactory jedispoolconfig jedispoolconfig new jedispoolconfig 最大空閒數 jedispoolco...

Redis配置檔案config詳解

redis命令快速參考文件 redis快速參考文件 redis全方面快速預覽 快速學習 redis配置檔案config詳解 即本文 redis win和linux 下安裝及簡單操作 win環境 linux環境 redis 持久化詳解 持久化 快照 rdb aof 配置檔案redis.conf dae...

redis常用配置檔案詳解

network bind 127.0.0.1 是否開啟保護模式,預設開啟。要是配置裡沒有指定bind和密碼。開啟該引數後,redis只會本地進行訪問,拒絕外部訪問。要是開啟了密碼和bind,可以開啟。否則最好關閉,設定為no protected mode yes redis監聽的埠號 port 63...