redis限制部分配置

三,限制部分redis

1:maxclients:設置redis同時能夠與多少個客戶端進行鏈接。默認狀況下爲10000個客戶端。當你算法

沒法設置進程文件句柄限制時,redis會設置爲當前的文件句柄限制值減去32,由於redis會爲自緩存

身內部處理邏輯留一些句柄出來。若是達到了此限制,redis則會拒絕新的鏈接請求,而且向這dom

些鏈接請求方發出max number of clients reached以做迴應。spa

2:maxmemory:設置redis可使用的內存量。一旦到達內存使用上限,redis將會試圖移除內部數orm

據,移除規則能夠經過maxmemory-policy來指定。若是redis沒法根據移除規則來移除內存中的隊列

數據,或者設置了不容許移除,那麼redis則會針對那些須要申請內存的指令返回錯誤信進程

息,好比SET、LPUSH等。可是對於無內存申請的指令,仍然會正常響應,好比GET等。內存

若是你的redis是主redis(說明你的redis有從redis),那麼在設置內存使用上限時,需同步

要在系統中留出一些內存空間給同步隊列緩存,只有在你設置的是「不移除」的狀況下,纔不用

考慮這個因素

3:maxmemory-samples:設置樣本數量,LRU算法和最小TTL算法都並不是是精確的算法,而是估算值,

因此你能夠設置樣本的大小,redis默認會檢查這麼多個key並選擇其中LRU的那個

4:maxmemory-policy:設置內存移除規則,redis提供了多達6種的移除規則:

(1)volatile-lru:使用LRU算法移除key,只對設置了過時時間的鍵

(2)allkeys-lru:使用LRU算法移除key

(3)volatile-random:在過時集合中移除隨機的key,只對設置了過時時間的鍵

(4)allkeys-random:移除隨機的key

(5)volatile-ttl:移除那些TTL值最小的key,即那些最近要過時的key

(6)noeviction:不進行移除。針對寫操做,只是返回錯誤信息

不管使用上述哪種移除規則,若是沒有合適的key能夠移除的話,redis都會針對寫請求返回錯誤信息

相關文章
相關標籤/搜索