1. 程式人生 > 其它 >第4章 Redis配置檔案介紹

第4章 Redis配置檔案介紹

自定義目錄:/myredis/redis.conf

4.1 ###Units單位### 

配置大小單位,開頭定義了一些基本的度量單位,只支援bytes,不支援bit

大小寫不敏感

4.2###INCLUDES包含###

 

 

類似jsp中的include,多例項的情況可以把公用的配置檔案提取出來

 

4.3 ###網路相關配置 ###

 

4.3.1 bind

 

預設情況bind=127.0.0.1只能接受本機的訪問請求

 

不寫的情況下,無限制接受任何ip地址的訪問

 

生產環境肯定要寫你應用伺服器的地址;伺服器是需要遠端訪問的,所以需要將其註釋掉

 

如果開啟了protected-mode

,那麼在沒有設定bind ip且沒有設密碼的情況下,Redis只允許接受本機的響應

 

 

儲存配置,停止服務,重啟啟動檢視程序,不再是本機訪問了。

 

4.3.2 protected-mode

將本機訪問保護模式設定no

 

4.3.3 Port

埠號,預設 6379

 

4.3.4 tcp-backlog

設定tcpbacklogbacklog其實是一個連線佇列,backlog佇列總和=未完成三次握手佇列 + 已經完成三次握手佇列。

在高併發環境下你需要一個高backlog值來避免慢客戶端連線問題。

注意Linux核心會將這個值減小到/proc/sys/net/core/somaxconn

的值(128),所以需要確認增大/proc/sys/net/core/somaxconn和/proc/sys/net/ipv4/tcp_max_syn_backlog128)兩個值來達到想要的效果

4.3.5 timeout

一個空閒的客戶端維持多少秒會關閉,0表示關閉該功能。即永不關閉

4.3.6 tcp-keepalive

對訪問客戶端的一種心跳檢測,每個n秒檢測一次。

單位為秒,如果設定為0,則不會進行Keepalive檢測,建議設定成60 

 

 

 

4.4###GENERAL通用###

4.4.1 daemonize

是否為後臺程序,設定為yes

守護程序,後臺啟動

 

4.4.2 pidfile

存放pid檔案的位置,每個例項會產生一個不同的pid檔案

 

4.4.3 loglevel 

指定日誌記錄級別,Redis總共支援四個級別:debugverbosenoticewarning,預設為notice

四個級別根據使用階段來選擇,生產環境選擇notice 或者warning

4.4.4 logfile 

日誌檔名稱

 

4.4.5 databases 16 

設定庫的數量 預設16預設資料庫為0,可以使用SELECT <dbid>命令在連線上指定資料庫id

 

 

 

4.5 ###SECURITY安全###

4.5.1 設定密碼

訪問密碼的檢視、設定和取消

在命令中設定密碼只是臨時的重啟redis伺服器密碼就還原了

永久設定需要再配置檔案中進行設定

 

 

 

4.6LIMITS限制 ###

4.6.1maxclients

  • 設定redis同時可以與多少個客戶端進行連線。
  • 預設情況下為10000個客戶端。
  • 如果達到了此限制,redis則會拒絕新的連線請求,並且向這些連線請求方發出“max number of clients reached”以作迴應。

 

 4.6.2 maxmemory 

 

  • 建議必須設定,否則,將記憶體佔滿,造成伺服器宕機
  • 設定redis可以使用的記憶體量。一旦到達記憶體使用上限,redis將會試圖移除內部資料,移除規則可以通過maxmemory-policy來指定。
  • 如果redis無法根據移除規則來移除記憶體中的資料,或者設定了“不允許移除”,那麼redis則會針對那些需要申請記憶體的指令返回錯誤資訊,比如SETLPUSH等。
  • 但是對於無記憶體申請的指令,仍然會正常響應,比如GET等。如果你的redis是主redis(說明你的redis有從redis),那麼在設定記憶體使用上限時,需要在系統中留出一些記憶體空間給同步佇列快取,只有在你設定的是“不移除”的情況下,才不用考慮這個因素。

4.6.3 maxmemory-policy

  • volatile-lru:使用LRU演算法移除key,只對設定了過期時間的鍵;(最近最少使用)
  • allkeys-lru:在所有集合key中,使用LRU演算法移除key
  • volatile-random:在過期集合中移除隨機的key,只對設定了過期時間的鍵
  • allkeys-random:在所有集合key中,移除隨機的key
  • volatile-ttl:移除那些TTL值最小的key,即那些最近要過期的key
  • noeviction:不進行移除。針對寫操作,只是返回錯誤資訊

4.6.4 maxmemory-samples

  • 設定樣本數量,LRU演算法和最小TTL演算法都並非是精確的演算法,而是估算值,所以你可以設定樣本的大小,redis預設會檢查這麼多個key並選擇其中LRU的那個。
  • 一般設定37的數字,數值越小樣本越不準確,但效能消耗越小。