redis 中的配置文件redis.conf 相關配置信息
知識點有點分散,一點一點記錄把:(嘿,這需要極大耐性呢)
1、需要註意:當相關配置中的內存大小需要指定時,通過可能指定的格式為 1k 、 5GB、4M等,大小寫可以不區分。
2、Redis 默認不是守護進程的方式進行,可以通過該配置項修改,使用 yes 啟用守護進程(守護進程是指在後臺運行的進程)。
3、當 Redis 以守護進程方式運行時,Redis默認會把,Redis默認會把pid寫入到/var/run/redis.pid文件中。可以通過pidfile指定
4、指定 Redis監聽端口,默認端口為6379。
5、綁定主機地址: bind 127.0.0.1。(在默認情況下,redis在服務器上監聽所有從可用網絡接口的連接,通過指定的ip地址,可以使用綁定配置指令的方式,只監聽一個或者多個接口)
5、當客戶端閑置多長時間後關閉連接。如果指定為0,表示關閉該功能。
timeout 300
6、指定 日誌記錄級別,Redis共支持四個級別: debug、verbose、notice、warning,默認為verbose。
可以看到,原文檔已經很好地提供了說明,
debug 為: 很多資料,對開發或者測試有很大幫助;
verbose 為: 有許多原生的有用的信息,但不會像debug級別那樣混亂;
notice 為: 適度抗長,適合在生產的時候使用;
warning 為: 只有重要或者關鍵的信息會被記錄;
(博文有點小啰嗦,當做學英文把)
7、logfile: 日誌的記錄方式,默認為標準輸出,如果配置 Redis 為守護進程方式運行,而這裏又配置日誌記錄方式為標準輸出,則日誌將會發送給/dev/null
8、設置數據庫的數量,默認數據路為0個,可以使用 SELECT <dbid> 指令跳轉到指定的數據庫中。
9、指定在多長時間內,有多少次更新操作,就將數據同步到數據文件中,可以有多個條件配合。
註: 如果在給定的秒數對DB發生給定的數量的寫操作時,將會保存DB。
save 900 1 : 是指在15分鐘內如果有一個key發生改變,則進行保存操作。
10、指定本地數據庫文件名,默認值為dump.rdb
11、指定本地數據庫存放目錄(dir ./)
註:指定數據庫存放目錄也就是指定redis工作的目錄,DB將會把數據寫入到這個目錄上的文件中。
12、設置當本機為slav服務時,設置master服務的IP地址以及端口。在Redis啟動時,它會自動從master中進行數據同步。(這點在後期博文中介紹)
slaveof <master> <masterport>
13、當 master 服務 設置了密碼保護時,slav 服務連接 master的密碼
masterauth <master-password>
註:如果master是受密碼保護的,slave 在復制同步過程前需要進行認證,否則master將會拒絕slave 請求。
14、設置 Redis連接密碼,如果配置了連接密碼,客戶端在連接Redis時需要通過AUTH<password>命令提供密碼,默認關閉。
requirepass foobared
15、設置同一時間內最大的客戶端連接數,默認無限制。Redis 可以同時打開客戶端連接數為 Redis 進程打開最大文件描述符數。如果設置 maxclients 0,表示不作限制。當客戶端連接數達到限制時,Redis會關閉新的連接並向客戶端返回max number of clients reached 錯誤信息。
17、指定Redis最大內存限制,Redis在啟動時會把數據加載到內存中,達到最大內存後,Redis會先嘗試清除已到期或者即將到期的Key,當此方法處理後,仍然到達最大內存設置,將無法在進行寫入操作,但是仍然可以讀取。
maxmemory <bytes>
18、指定是否在每次更新操作後進行日誌記錄,Redis在默認情況下是異步的把數據寫入磁盤中。如果不開啟,可能會在斷電時導致一段時間內的數據丟失。因為redis本身同步數據文件是按照上面 save 條件來同步的,所以有的數據會在一段時間內只存在與內存中。默認為 no。
appendonly no.
19、指定更新日誌文件名,默認為 appendonly.aof
20、指定更新日誌條件,共有3個可選值
no: 表示操作系統進行數據緩存同步到磁盤中(快)
always: 表示每次更新操作後手動調用 fsync() 將數據寫到磁盤中(慢,但安全)
everysec: 表示每秒同步一次(折中,默認值)
21、指定是否啟動虛擬內存機制,默認值為 no ,簡單地說,VM 機制將數據分頁存放,由Redis將訪問量較少的頁即冷數據是swap到磁盤中,訪問量多的頁由磁盤自動換出內存中。(就簡單理解一下,後面的博文中會說到)
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文件的線程數,最好不要超過機器的核數,如果設置為0,那麽所有對swap文件的操作都是串行的。可能會造成比較長的時間的延遲。默認值為4
vm-max-threads 4
26、設置在向客戶端應答時,是否把較小的包含合並為一個包發送,默認為開啟。
glueoutputbuf yes
27、指定包含其他的配置文件,可以在同一臺主機上多個redis實例之間使用同一份配置文件,而同時各個實例又擁有自己的特定配置文件。
include /path/to/local.conf
本文出自 “12392717” 博客,請務必保留此出處http://12402717.blog.51cto.com/12392717/1924303
redis 中的配置文件redis.conf 相關配置信息