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