[Redis6]配置文件详解
配置文件
單位
配置大小單位,開頭定義了一些基本的度量單位,只支持bytes,不支持bit
大小寫不敏感
INCLUDES包括
類似jsp中的include,多實例的情況可以把公用的配置文件提取出來
網絡相關配置
bind
默認情況bind=127.0.0.1只能接受本機的訪問請求
不寫的情況下,無限制接受任何ip地址的訪問
生產環境肯定要寫你應用服務器的地址;服務器是需要遠程訪問的,所以需要將其注釋掉
如果開啟了protected-mode,那么在沒有設定bind ip且沒有設密碼的情況下,Redis只允許接受本機的響應
將它注釋掉
protected-mode
表示是否開啟保護模式
將本機訪問保護模式設置no
Port
端口號,默認 6379
tcp-backlog
設置tcp的backlog,backlog其實是一個連接隊列,backlog隊列總和=未完成三次握手隊列 + 已經完成三次握手隊列。
在高并發環境下你需要一個高backlog值來避免慢客戶端連接問題。
注意Linux內核會將這個值減小到/proc/sys/net/core/somaxconn的值(128),所以需要確認增大/proc/sys/net/core/somaxconn和/proc/sys/net/ipv4/tcp_max_syn_backlog(128)兩個值來達到想要的效果
timeout
一個空閑的客戶端維持多少秒會關閉,0表示關閉該功能。即永不關閉。
tcp-keepalive
對訪問客戶端的一種心跳檢測,每個n秒檢測一次。
單位為秒,如果設置為0,則不會進行Keepalive檢測,建議設置成60
GENERAL通用
daemonize
是否為后臺進程,設置為yes
守護進程,后臺啟動
pidfile
存放pid文件的位置,每個實例會產生一個不同的pid文件
loglevel
指定日志記錄級別,Redis總共支持四個級別:debug、verbose、notice、warning,默認為notice
四個級別根據使用階段來選擇,生產環境選擇notice 或者warning
logfile
日志文件名稱
databases 16
設定庫的數量 默認16,默認數據庫為0,可以使用SELECT 命令在連接上指定數據庫id
SECURITY安全
設置密碼
訪問密碼的查看、設置和取消
在命令中設置密碼,只是臨時的。重啟redis服務器,密碼就還原了。
永久設置,需要再配置文件中進行設置。
LIMITS限制
maxclients
設置redis同時可以與多少個客戶端進行連接。
默認情況下為10000個客戶端。
如果達到了此限制,redis則會拒絕新的連接請求,并且向這些連接請求方發出“max number of clients reached”以作回應。
maxmemory
建議必須設置,否則,將內存占滿,造成服務器宕機
設置redis可以使用的內存量。一旦到達內存使用上限,redis將會試圖移除內部數據,移除規則可以通過maxmemory-policy來指定。
如果redis無法根據移除規則來移除內存中的數據,或者設置了“不允許移除”,那么redis則會針對那些需要申請內存的指令返回錯誤信息,比如SET、LPUSH等。
但是對于無內存申請的指令,仍然會正常響應,比如GET等。如果你的redis是主redis(說明你的redis有從redis),那么在設置內存使用上限時,需要在系統中留出一些內存空間給同步隊列緩存,只有在你設置的是“不移除”的情況下,才不用考慮這個因素。
maxmemory-policy
volatile-lru:使用LRU算法移除key,只對設置了過期時間的鍵;(最近最少使用)
allkeys-lru:在所有集合key中,使用LRU算法移除key
volatile-random:在過期集合中移除隨機的key,只對設置了過期時間的鍵
allkeys-random:在所有集合key中,移除隨機的key
volatile-ttl:移除那些TTL值最小的key,即那些最近要過期的key
noeviction:不進行移除。針對寫操作,只是返回錯誤信息
maxmemory-samples
設置樣本數量,LRU算法和最小TTL算法都并非是精確的算法,而是估算值,所以你可以設置樣本的大小,redis默認會檢查這么多個key并選擇其中LRU的那個。
一般設置3到7的數字,數值越小樣本越不準確,但性能消耗越小。
總結
以上是生活随笔為你收集整理的[Redis6]配置文件详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频怎么调滤镜电脑滤镜如何调整
- 下一篇: [Redis6]发布和订阅