一键安装配置Redis详解
生活随笔
收集整理的這篇文章主要介紹了
一键安装配置Redis详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
零基礎(chǔ)安裝配置Redis詳解
- 安裝Redis
- 一: 使用wget 下載redis 的安裝包
- 二: 解壓安裝安裝包
- 三: 配置redis.conf
- 四、daemonize介紹
- 五、端口號(hào)修改
- 六、啟動(dòng)redis\連接redis
- 七、多庫(kù)
- 八、常用命令
- 九、配置文件詳解
安裝Redis
一: 使用wget 下載redis 的安裝包
wget http://download.redis.io/releases/redis-5.0.4.tar.gz**下載完成后再本目錄下會(huì)生成Redis的壓縮安裝包,如下圖:**二: 解壓安裝安裝包
tar -zxvf redis-5.0.4.tar.gz**解壓完成會(huì)在當(dāng)前目錄生成redis-5.0.4文件,如下圖:**三: 配置redis.conf
1:redis的配置文件,默認(rèn)放在Redis的安裝目錄下,我們?cè)诒M量不動(dòng)這個(gè)配置,吧redis.conf copy 一份放在自定義目錄中.這樣做是防止不懂出廠 的Redis配置,啟動(dòng)的時(shí)候也用這個(gè)自定義的配置 2:修改redis.conf中的daemonize四、daemonize介紹
1:redis.conf配置文件中daemonize守護(hù)線程,默認(rèn)是NO。
2:daemonize是用來(lái)指定redis是否要用守護(hù)線程的方式啟動(dòng)。
3:daemonize 設(shè)置yes或者no區(qū)別
daemonize:yes:redis采用的是單進(jìn)程多線程的模式。當(dāng)redis.conf中選項(xiàng) daemonize設(shè)置成yes時(shí),代表開(kāi)啟守護(hù)進(jìn)程模式。在該模式下,redis會(huì)在后臺(tái)運(yùn)行,并將進(jìn)程pid號(hào)寫入至redis.conf選項(xiàng)pidfile設(shè)置的文件中,此時(shí)redis將一直運(yùn)行,除非手動(dòng)kill該進(jìn)程。
daemonize:no: 當(dāng)daemonize選項(xiàng)設(shè)置成no時(shí),當(dāng)前界面將進(jìn)入redis的命令行界面,exit強(qiáng)制退出或者關(guān)閉連接工具(putty,xshell等)都會(huì)導(dǎo)致redis進(jìn)程退出.
五、端口號(hào)修改
修改redis.conf文件中的port端口六、啟動(dòng)redis\連接redis
redis-serve /etc/redis/redis.conf (指定redis的配置文件)遠(yuǎn)程連接redis redis-cli -h host -p port -a password本地連接redis redis-cli -p 端口號(hào)如果設(shè)置redis密碼,則輸入密碼 auth 密碼如果中文亂碼則使用 redis-cli -p 6379 --raw七、多庫(kù)
**redis默認(rèn)開(kāi)啟16個(gè)庫(kù),默認(rèn)使用數(shù)據(jù)庫(kù)0** #數(shù)據(jù)庫(kù)的數(shù)量,默認(rèn)使用的數(shù)據(jù)庫(kù)是DB 0。可以通過(guò)”SELECT “命令選擇一個(gè)db databases 16**requirepass配置可以讓用戶使用AUTH命令來(lái)認(rèn)證密碼,才能使用其他命令。這讓redis可以使用在不受信任的網(wǎng)絡(luò)中。為了保持向后的兼容性,可以注釋該命令,因?yàn)榇蟛糠钟脩粢膊恍?#要認(rèn)證。使用requirepass的>時(shí)候需要注意#,因?yàn)閞edis太快了,每秒可以認(rèn)證15w次密碼,簡(jiǎn)單的密碼很容易被攻破,所以最好使用一個(gè)更復(fù)雜的密碼。** requirepass 123456切換數(shù)據(jù)庫(kù)命令 select 1八、常用命令
1:設(shè)置數(shù)據(jù) set key value 2:獲取數(shù)據(jù) get key 3:獲取指定所有key keys * 4:獲取指定前綴的keys keys 前綴* 5:刪除指定key del key 6:獲取key過(guò)期時(shí)間 ttl key 7:將給定 key 的值設(shè)為 value ,并返回 key 的舊值(old value)。 GETSET key value 8:MGET key1 [key2..] 獲取所有(一個(gè)或多個(gè))給定 key 的值 9:SETEX key seconds value 將值 value 關(guān)聯(lián)到 key ,并將 key 的過(guò)期時(shí)間設(shè)為 seconds (以秒為單位)。 10:STRLEN key 返回 key 所儲(chǔ)存的字符串值的長(zhǎng)度。 11: MSET key value [key value ...] 同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對(duì) 12:DBSIZE 返回當(dāng)前數(shù)據(jù)庫(kù)的鍵的數(shù)量 13:FLUSHALL 刪除所有數(shù)據(jù)庫(kù)的所有鍵 14:SLAVEOF主機(jī)端口 將當(dāng)前服務(wù)器轉(zhuǎn)變?yōu)橹付ǚ?wù)器的從屬服務(wù)器(從屬服務(wù)器)九、配置文件詳解
# redis configuration file example. # ./redis-server /path/to/redis.conf################################## INCLUDES ################################### # 這在你有標(biāo)準(zhǔn)配置模板但是每個(gè)redis服務(wù)器又需要個(gè)性設(shè)置的時(shí)候很有用。 # include /path/to/local.conf # include /path/to/other.conf# 允許訪問(wèn)的服務(wù)器ip bind 0.0.0.0# 3.2里的參數(shù),是否開(kāi)啟保護(hù)模式,默認(rèn)開(kāi)啟。要是配置里沒(méi)有指定bind和密碼。開(kāi)啟該參數(shù)后,redis只會(huì)本地進(jìn)行訪問(wèn),拒絕外部訪問(wèn)。要是開(kāi)啟了密碼 和bind,可以開(kāi)啟。否 ## 則最好關(guān)閉,設(shè)置為no。 protected-mode yes# Redis監(jiān)聽(tīng)的端口 port 6379# 此參數(shù)確定了TCP連接中已完成隊(duì)列(完成三次握手之后)的長(zhǎng)度, 當(dāng)然此值必須不大于Linux系統(tǒng)定義的/proc/sys/net/core/somaxconn值,默認(rèn)是511,而Linux的默認(rèn)參數(shù)值是128。當(dāng) #系統(tǒng)并發(fā)量大并且客戶端速度緩慢的#時(shí)候,可以將這二個(gè)參數(shù)一起參考設(shè)定。該內(nèi)核參數(shù)默認(rèn)值一般是128,對(duì)于負(fù)載很大的服務(wù)程序來(lái)說(shuō)大大的不夠。一般會(huì)將它修改為2048或者更大##。在/etc/sysctl.conf中添加:net.core.somaxconn = #2048,然后在終端中執(zhí)行sysctl -p。 tcp-backlog 511#配置unix socket來(lái)讓redis支持監(jiān)聽(tīng)本地連接。 # unixsocket /var/run/redis/redis.sock #配置unix socket使用文件的權(quán)限 # unixsocketperm 700# 此參數(shù)為設(shè)置客戶端空閑超過(guò)timeout,服務(wù)端會(huì)斷開(kāi)連接,為0則服務(wù)端不會(huì)主動(dòng)斷開(kāi)連接,不能小于0。 timeout 0#tcp keepalive參數(shù)。如果設(shè)置不為0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個(gè)好處:檢測(cè)掛掉的對(duì)端。降低中間設(shè)備出問(wèn)題而導(dǎo)致網(wǎng)絡(luò)看似連接卻已經(jīng)與對(duì)端端口的問(wèn) #題。在Linux內(nèi)核中,設(shè)置了keepalive#,redis會(huì)定時(shí)給對(duì)端發(fā)送ack。檢測(cè)到對(duì)端關(guān)閉需要兩倍的設(shè)置值。 tcp-keepalive 300################################ GENERAL ##################################### #是否在后臺(tái)執(zhí)行,yes:后臺(tái)運(yùn)行;no:不是后臺(tái)運(yùn)行(老版本默認(rèn)) daemonize yessupervised no#redis的進(jìn)程文件 pidfile /var/run/redis_6379.pid#指定了服務(wù)端日志的級(jí)別。級(jí)別包括:debug(很多信息,方便開(kāi)發(fā)、測(cè)試),verbose(許多有用的信息,但是沒(méi)有debug級(jí)別信息多),notice(適當(dāng)?shù)娜罩炯?jí)別,適合生產(chǎn)環(huán)境),wa#rn(只有非常重要的信息) loglevel notice#指定了記錄日志的文件。空字符串的話,日志會(huì)打印到標(biāo)準(zhǔn)輸出設(shè)備。后臺(tái)運(yùn)行的redis標(biāo)準(zhǔn)輸出是/dev/null。 logfile "/dev/null"#是否打開(kāi)記錄syslog功能 # syslog-enabled no#syslog的標(biāo)識(shí)符。 # syslog-ident redis#日志的來(lái)源、設(shè)備 # syslog-facility local0#數(shù)據(jù)庫(kù)的數(shù)量,默認(rèn)使用的數(shù)據(jù)庫(kù)是DB 0。可以通過(guò)”SELECT “命令選擇一個(gè)db databases 16always-show-logo yes################################ SNAPSHOTTING ################################ # 快照配置 # 注釋掉“save”這一行配置項(xiàng)就可以讓保存數(shù)據(jù)庫(kù)功能失效 # 設(shè)置sedis進(jìn)行數(shù)據(jù)庫(kù)鏡像的頻率。 # 900秒(15分鐘)內(nèi)至少1個(gè)key值改變(則進(jìn)行數(shù)據(jù)庫(kù)保存--持久化) # 300秒(5分鐘)內(nèi)至少10個(gè)key值改變(則進(jìn)行數(shù)據(jù)庫(kù)保存--持久化) # 60秒(1分鐘)內(nèi)至少10000個(gè)key值改變(則進(jìn)行數(shù)據(jù)庫(kù)保存--持久化) save 900 1 save 300 10 save 60 10000#當(dāng)RDB持久化出現(xiàn)錯(cuò)誤后,是否依然進(jìn)行繼續(xù)進(jìn)行工作,yes:不能進(jìn)行工作,no:可以繼續(xù)進(jìn)行工作,可以通過(guò)info中的rdb_last_bgsave_status了解RDB持久化是否有錯(cuò)誤 stop-writes-on-bgsave-error yes#使用壓縮rdb文件,rdb文件壓縮使用LZF壓縮算法,yes:壓縮,但是需要一些cpu的消耗。no:不壓縮,需要更多的磁盤空間 rdbcompression yes#是否校驗(yàn)rdb文件。從rdb格式的第五個(gè)版本開(kāi)始,在rdb文件的末尾會(huì)帶上CRC64的校驗(yàn)和。這跟有利于文件的容錯(cuò)性,但是在保存rdb文件的時(shí)候,會(huì)有大概10%的性能損耗,所以如果你##追求高性能,可以關(guān)閉該配置 。 rdbchecksum yes#rdb文件的名稱 dbfilename dump.rdb#數(shù)據(jù)目錄,數(shù)據(jù)庫(kù)的寫入會(huì)在這個(gè)目錄。rdb、aof文件也會(huì)寫在這個(gè)目錄 dir /etc/redis################################# REPLICATION ################################# #復(fù)制選項(xiàng),slave復(fù)制對(duì)應(yīng)的master。 # slaveof <masterip> <masterport>#如果master設(shè)置了requirepass,那么slave要連上master,需要有master的密碼才行。masterauth就是用來(lái)配置master的密碼,這樣可以在連上master后進(jìn)行認(rèn)證。 # masterauth <master-password>#當(dāng)從庫(kù)同主機(jī)失去連接或者復(fù)制正在進(jìn)行,從機(jī)庫(kù)有兩種運(yùn)行方式:1) 如果slave-serve-stale-data設(shè)置為yes(默認(rèn)設(shè)置),從庫(kù)會(huì)繼續(xù)響應(yīng)客戶端的請(qǐng)求。2) 如果slave-serve-stale-#data設(shè)置為no,除去INFO和SLAVOF命令之外的任何請(qǐng)求都會(huì)返回一個(gè)錯(cuò)誤”SYNC with master in progress”。 replica-serve-stale-data yes#作為從服務(wù)器,默認(rèn)情況下是只讀的(yes),可以修改成NO,用于寫(不建議)。 replica-read-only yes#是否使用socket方式復(fù)制數(shù)據(jù)。目前redis復(fù)制提供兩種方式,disk和socket。如果新的slave連上來(lái)或者重連的slave無(wú)法部分同步,就會(huì)執(zhí)行全量同步,master會(huì)生成rdb文件。有2種方#式:disk方式是master創(chuàng)建一 個(gè)新的#進(jìn)程把rdb文件保存到磁盤,再把磁盤上的rdb文件傳遞給slave。socket是master創(chuàng)建一個(gè)新的進(jìn)程,直接把rdb文件以socket的方式發(fā)給slave。dis#k方式的時(shí)候,當(dāng)一個(gè)rdb保存的過(guò)程中,多個(gè)slave都能共享 這個(gè)rdb文件##。socket的方式就的一個(gè)個(gè)slave順序復(fù)制。在磁盤速度緩慢,網(wǎng)速快的情況下推薦用socket方式。 repl-diskless-sync no#diskless復(fù)制的延遲時(shí)間,防止設(shè)置為0。一旦復(fù)制開(kāi)始,節(jié)點(diǎn)不會(huì)再接收新slave的復(fù)制請(qǐng)求直到下一個(gè)rdb傳輸。所以最好等待一段時(shí)間,等更多的slave連上來(lái)。 repl-diskless-sync-delay 5#slave根據(jù)指定的時(shí)間間隔向服務(wù)器發(fā)送ping請(qǐng)求。時(shí)間間隔可以通過(guò) repl_ping_slave_period 來(lái)設(shè)置,默認(rèn)10秒。 # repl-ping-slave-period 10#復(fù)制連接超時(shí)時(shí)間。master和slave都有超時(shí)時(shí)間的設(shè)置。master檢測(cè)到slave上次發(fā)送的時(shí)間超過(guò)repl-timeout,即認(rèn)為slave離線,清除該slave信息。slave檢測(cè)到上次和master交互的#時(shí)間超過(guò)repl-#timeout,則>認(rèn)為master離線。需要注意的是repl-timeout需要設(shè)置一個(gè)比repl-ping-slave-period更大的值,不然會(huì)經(jīng)常檢測(cè)到超時(shí)。# repl-timeout 60#是否禁止復(fù)制tcp鏈接的tcp nodelay參數(shù),可傳遞yes或者no。默認(rèn)是no,即使用tcp nodelay。如果master設(shè)置了yes來(lái)禁止tcp #nodelay設(shè)置,在把數(shù)據(jù)復(fù)制給slave的時(shí)候,會(huì)減少包##的數(shù)量和更小的網(wǎng)絡(luò)帶寬。但 是這也可能帶來(lái)數(shù)據(jù)的延遲。默認(rèn)我們推薦更小的延遲,但是在數(shù)據(jù)量傳輸很大的場(chǎng)景下,建議選擇yes。 repl-disable-tcp-nodelay no#復(fù)制緩沖區(qū)大小,這是一個(gè)環(huán)形復(fù)制緩沖區(qū),用來(lái)保存最新復(fù)制的命令。這樣在slave離線的時(shí)候,不需要完全復(fù)制master的數(shù)據(jù),如果可以執(zhí)行部分同步,只需要把緩沖區(qū)的部分?jǐn)?shù)據(jù)復(fù)#制給slave,就能恢復(fù)正常復(fù)>制狀態(tài)。緩沖##區(qū)的大小越大,slave離線的時(shí)間可以更長(zhǎng),復(fù)制緩沖區(qū)只有在有slave連接的時(shí)候才分配內(nèi)存。沒(méi)有slave的一段時(shí)間,內(nèi)存會(huì)被釋放出來(lái),##默認(rèn)1m。 # repl-backlog-size 5mb#master沒(méi)有slave一段時(shí)間會(huì)釋放復(fù)制緩沖區(qū)的內(nèi)存,repl-backlog-ttl用來(lái)設(shè)置該時(shí)間長(zhǎng)度。單位為秒。 # repl-backlog-ttl 3600#當(dāng)master不可用,Sentinel會(huì)根據(jù)slave的優(yōu)先級(jí)選舉一個(gè)master。最低的優(yōu)先級(jí)的slave,當(dāng)選master。而配置成0,永遠(yuǎn)不會(huì)被選舉。 replica-priority 100#redis提供了可以讓master停止寫入的方式,如果配置了min-slaves-to-write,健康的slave的個(gè)數(shù)小于N,mater就禁止寫入。master最少得有多少個(gè)健康的slave存活才能執(zhí)行寫命令。##這個(gè)配置雖然不能保證N個(gè)slave都一#定能接收到master的寫操作,但是能避免沒(méi)有足夠健康的slave的時(shí)候,master不能寫入來(lái)避免數(shù)據(jù)丟失。設(shè)置為0是關(guān)閉該功能。 # min-slaves-to-write 3#延遲小于min-slaves-max-lag秒的slave才認(rèn)為是健康的slave。 # min-slaves-max-lag 10# 設(shè)置1或另一個(gè)設(shè)置為0禁用這個(gè)特性。 # Setting one or the other to 0 disables the feature. # By default min-slaves-to-write is set to 0 (feature disabled) and # min-slaves-max-lag is set to 10.################################## SECURITY ################################### #requirepass配置可以讓用戶使用AUTH命令來(lái)認(rèn)證密碼,才能使用其他命令。這讓redis可以使用在不受信任的網(wǎng)絡(luò)中。為了保持向后的兼容性,可以注釋該命令,因?yàn)榇蟛糠钟脩粢膊恍?#要認(rèn)證。使用requirepass的>時(shí)候需要注意#,因?yàn)閞edis太快了,每秒可以認(rèn)證15w次密碼,簡(jiǎn)單的密碼很容易被攻破,所以最好使用一個(gè)更復(fù)雜的密碼。 requirepass 13511920222Ybr#把危險(xiǎn)的命令給修改成其他名稱。比如CONFIG命令可以重命名為一個(gè)很難被猜到的命令,這樣用戶不能使用,而內(nèi)部工具還能接著使用。 # rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52#設(shè)置成一個(gè)空的值,可以禁止一個(gè)命令 # rename-command CONFIG "" ################################### LIMITS ##################################### 設(shè)置能連上redis的最大客戶端連接數(shù)量。默認(rèn)是10000個(gè)客戶端連接。由于redis不區(qū)分連接是客戶端連接還是內(nèi)部打開(kāi)文件或者和slave連接等,所以maxclients最小建議設(shè)置到32。如#果超過(guò)了maxclients,redis>會(huì)給新 # 連接發(fā)送’max number of clients reached’,并關(guān)閉連接。 # maxclients 10000#redis配置的最大內(nèi)存容量。當(dāng)內(nèi)存滿了,需要配合maxmemory-policy策略進(jìn)行處理。注意slave的輸出緩沖區(qū)是不計(jì)算在maxmemory內(nèi)的。所以為了防止主機(jī)內(nèi)存使用完,建議設(shè)置的maxm#emory需要更小一些。 # maxmemory <bytes>lazyfree-lazy-eviction nolazyfree-lazy-eviction no lazyfree-lazy-expire no lazyfree-lazy-server-del no replica-lazy-flush no#默認(rèn)redis使用的是rdb方式持久化,這種方式在許多應(yīng)用中已經(jīng)足夠用了。但是redis如果中途宕機(jī),會(huì)導(dǎo)致可能有幾分鐘的數(shù)據(jù)丟失,根據(jù)save來(lái)策略進(jìn)行持久化,Append Only #File##是另一種持久化方式,可以提 供更好的持久化特性。Redis會(huì)把每次寫入的數(shù)據(jù)在接收后都寫入 appendonly.aof 文件,每次啟動(dòng)時(shí)Redis都會(huì)先把這個(gè)文件的數(shù)據(jù)讀入內(nèi)存里,先忽略RDB#文件。 appendonly no#aof文件名 appendfilename "appendonly.aof"#aof持久化策略的配置 #no表示不執(zhí)行fsync,由操作系統(tǒng)保證數(shù)據(jù)同步到磁盤,速度最快。 #always表示每次寫入都執(zhí)行fsync,以保證數(shù)據(jù)同步到磁盤。 #everysec表示每秒執(zhí)行一次fsync,可能會(huì)導(dǎo)致丟失這1s數(shù)據(jù)。 appendfsync everysec# 在aof重寫或者寫入rdb文件的時(shí)候,會(huì)執(zhí)行大量IO,此時(shí)對(duì)于everysec和always的aof模式來(lái)說(shuō),執(zhí)行fsync會(huì)造成阻塞過(guò)長(zhǎng)時(shí)間,no-appendfsync-on-rewrite字段設(shè)置為默認(rèn)設(shè)置為no##。如果對(duì)延遲要求很高的應(yīng)用 ,這個(gè)#字段可以設(shè)置為yes,否則還是設(shè)置為no,這樣對(duì)持久化特性來(lái)說(shuō)這是更安全的選擇。設(shè)置為yes表示rewrite期間對(duì)新寫操作不fsync,暫時(shí)存在內(nèi)存##中,等rewrite完成后再寫入,默認(rèn)為no,建議yes。Linux的>默認(rèn)fsync策略是3#0秒。可能丟失30秒數(shù)據(jù)。 no-appendfsync-on-rewrite no#aof自動(dòng)重寫配置。當(dāng)目前aof文件大小超過(guò)上一次重寫的aof文件大小的百分之多少進(jìn)行重寫,即當(dāng)aof文件增長(zhǎng)到一定大小的時(shí)候Redis能夠調(diào)用bgrewriteaof對(duì)日志文件進(jìn)行重寫。當(dāng)前#AOF文件大小是上次日志重寫>得到AOF文##件大小的二倍(設(shè)置為100)時(shí),自動(dòng)啟動(dòng)新的日志重寫過(guò)程。 auto-aof-rewrite-percentage 100#設(shè)置允許重寫的最小aof文件大小,避免了達(dá)到約定百分比但尺寸仍然很小的情況還要重寫 auto-aof-rewrite-min-size 64mb#aof文件可能在尾部是不完整的,當(dāng)redis啟動(dòng)的時(shí)候,aof文件的數(shù)據(jù)被載入內(nèi)存。重啟可能發(fā)生在redis所在的主機(jī)操作系統(tǒng)宕機(jī)后,尤其在ext4文件系統(tǒng)沒(méi)有加上data=ordered選項(xiàng)(r#edis宕機(jī)或者異常終止不會(huì)造 成尾部不##完整現(xiàn)象。)出現(xiàn)這種現(xiàn)象,可以選擇讓redis退出,或者導(dǎo)入盡可能多的數(shù)據(jù)。如果選擇的是yes,當(dāng)截?cái)嗟腶of文件被導(dǎo)入的時(shí)候,會(huì)自動(dòng)發(fā)布#一個(gè)log給客戶端然后load。如果是no,用戶必須手動(dòng)redis-check-#aof修復(fù)AOF文件才可以。 aof-load-truncated yes# 如果達(dá)到最大時(shí)間限制(毫秒),redis會(huì)記個(gè)log,然后返回error。當(dāng)一個(gè)腳本超過(guò)了最大時(shí)限。只有SCRIPT #KILL和SHUTDOWNNOSAVE可以用。第一個(gè)可以殺沒(méi)有調(diào)write命令的東西。#要是已經(jīng)調(diào)用了write,只能>用第二個(gè)命令殺。 lua-time-limit 5000aof-use-rdb-preamble yes################################ REDIS CLUSTER ############################### #集群開(kāi)關(guān),默認(rèn)是不開(kāi)啟集群模式。 # cluster-enabled yes#集群配置文件的名稱,每個(gè)節(jié)點(diǎn)都有一個(gè)集群相關(guān)的配置文件,持久化保存集群的信息。這個(gè)文件并不需要手動(dòng)配置,這個(gè)配置文件有Redis生成并更新,每個(gè)Redis集群節(jié)點(diǎn)需要一個(gè)單##獨(dú)的配置文件,請(qǐng)確保與實(shí)例 運(yùn)行的系統(tǒng)中配#置文件名稱不沖突 # cluster-config-file nodes-6379.conf#節(jié)點(diǎn)互連超時(shí)的閥值。集群節(jié)點(diǎn)超時(shí)毫秒數(shù) # cluster-node-timeout 15000#在進(jìn)行故障轉(zhuǎn)移的時(shí)候,全部slave都會(huì)請(qǐng)求申請(qǐng)為master,但是有些slave可能與master斷開(kāi)連接一段時(shí)間了,導(dǎo)致數(shù)據(jù)過(guò)于陳舊,這樣的slave不應(yīng)該被提升為master。該參數(shù)就是用來(lái)#判斷slave節(jié)點(diǎn)與master斷線>的時(shí)間是##否過(guò)長(zhǎng)。判斷方法是: #比較slave斷開(kāi)連接的時(shí)間和(node-timeout * slave-validity-factor) + repl-ping-slave-period #如果節(jié)點(diǎn)超時(shí)時(shí)間為三十秒, 并且slave-validity-factor為10,假設(shè)默認(rèn)的repl-ping-slave-period是10秒,即如果超過(guò)310秒slave將不會(huì)嘗試進(jìn)行故障轉(zhuǎn)移 # cluster-slave-validity-factor 10#master的slave數(shù)量大于該值,slave才能遷移到其他孤立master上,如這個(gè)參數(shù)若被設(shè)為2,那么只有當(dāng)一個(gè)主節(jié)點(diǎn)擁有2 個(gè)可工作的從節(jié)點(diǎn)時(shí),它的一個(gè)從節(jié)點(diǎn)會(huì)嘗試遷移。 # cluster-migration-barrier 1#默認(rèn)情況下,集群全部的slot有節(jié)點(diǎn)負(fù)責(zé),集群狀態(tài)才為ok,才能提供服務(wù)。設(shè)置為no,可以在slot沒(méi)有全部分配的時(shí)候提供服務(wù)。不建議打開(kāi)該配置,這樣會(huì)造成分區(qū)的時(shí)候,小分區(qū)##的master一直在接受寫請(qǐng)求, 而造成很長(zhǎng)時(shí)##間數(shù)據(jù)不一致。 # cluster-require-full-coverage yes################################## SLOW LOG ################################### ###slog log是用來(lái)記錄redis運(yùn)行中執(zhí)行比較慢的命令耗時(shí)。當(dāng)命令的執(zhí)行超過(guò)了指定時(shí)間,就記錄在slow log中,slog log保存在內(nèi)存中,所以沒(méi)有IO操作。 #執(zhí)行時(shí)間比slowlog-log-slower-than大的請(qǐng)求記錄到slowlog里面,單位是微秒,所以1000000就是1秒。注意,負(fù)數(shù)時(shí)間會(huì)禁用慢查詢?nèi)罩?#xff0c;而0則會(huì)強(qiáng)制記錄所有命令。 slowlog-log-slower-than 10000#慢查詢?nèi)罩鹃L(zhǎng)度。當(dāng)一個(gè)新的命令被寫進(jìn)日志的時(shí)候,最老的那個(gè)記錄會(huì)被刪掉。這個(gè)長(zhǎng)度沒(méi)有限制。只要有足夠的內(nèi)存就行。你可以通過(guò) SLOWLOG RESET 來(lái)釋放內(nèi)存。 slowlog-max-len 128################################ LATENCY MONITOR ############################## #延遲監(jiān)控功能是用來(lái)監(jiān)控redis中執(zhí)行比較緩慢的一些操作,用LATENCY打印redis實(shí)例在跑命令時(shí)的耗時(shí)圖表。只記錄大于等于下邊設(shè)置的值的操作。0的話,就是關(guān)閉監(jiān)視。默認(rèn)延遲監(jiān)##控功能是關(guān)閉的,如果你需要 打開(kāi),也可以##通過(guò)CONFIG SET命令動(dòng)態(tài)設(shè)置。 latency-monitor-threshold 0notify-keyspace-events ""############################### ADVANCED CONFIG ############################### #數(shù)據(jù)量小于等于hash-max-ziplist-entries的用ziplist,大于hash-max-ziplist-entries用hash hash-max-ziplist-entries 512#value大小小于等于hash-max-ziplist-value的用ziplist,大于hash-max-ziplist-value用hash。 hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0#數(shù)據(jù)量小于等于set-max-intset-entries用iniset,大于set-max-intset-entries用set。 set-max-intset-entries 512#數(shù)據(jù)量小于等于zset-max-ziplist-entries用ziplist,大于zset-max-ziplist-entries用zset。 zset-max-ziplist-entries 128#value大小小于等于zset-max-ziplist-value用ziplist,大于zset-max-ziplist-value用zset。 zset-max-ziplist-value 64#value大小小于等于hll-sparse-max-bytes使用稀疏數(shù)據(jù)結(jié)構(gòu)(sparse),大于hll-sparse-max-#bytes使用稠密的數(shù)據(jù)結(jié)構(gòu)(dense)。一個(gè)比16000大的value是幾乎沒(méi)用的,建議的valu#e大概為3000。如果對(duì)CPU要求 不高,對(duì)空間要求較高的,建議設(shè)置到10000左右。 hll-sparse-max-bytes 3000stream-node-max-bytes 4096 stream-node-max-entries 100#Redis將在每100毫秒時(shí)使用1毫秒的CPU時(shí)間來(lái)對(duì)redis的hash表進(jìn)行重新hash,可以降低內(nèi)存的使用。當(dāng)你的使用場(chǎng)景中,有非常嚴(yán)格的實(shí)時(shí)性需要,不能夠接受Redis時(shí)不時(shí)的對(duì)請(qǐng)求有2#毫秒的延遲的話,把這項(xiàng)配置 為no。如果#沒(méi)有這么嚴(yán)格的實(shí)時(shí)性要求,可以設(shè)置為yes,以便能夠盡可能快的釋放內(nèi)存。 activerehashing yes##對(duì)客戶端輸出緩沖進(jìn)行限制可以強(qiáng)迫那些不從服務(wù)器讀取數(shù)據(jù)的客戶端斷開(kāi)連接,用來(lái)強(qiáng)制關(guān)閉傳輸緩慢的客戶端。 #對(duì)于normal client,第一個(gè)0表示取消hard limit,第二個(gè)0和第三個(gè)0表示取消soft limit,normal client默認(rèn)取消限制,因?yàn)槿绻麤](méi)有尋問(wèn),他們是不會(huì)接收數(shù)據(jù)的。 client-output-buffer-limit normal 0 0 0#對(duì)于slave client和MONITER client,如果client-output-buffer一旦超過(guò)256mb,又或者超過(guò)64mb持續(xù)60秒,那么服務(wù)器就會(huì)立即斷開(kāi)客戶端連接。 client-output-buffer-limit replica 256mb 64mb 60#對(duì)于pubsub client,如果client-output-buffer一旦超過(guò)32mb,又或者超過(guò)8mb持續(xù)60秒,那么服務(wù)器就會(huì)立即斷開(kāi)客戶端連接。 client-output-buffer-limit pubsub 32mb 8mb 60#redition file example. # ./redis-server /path/to/redis.conf################################## INCLUDES ################################### # 這在你有標(biāo)準(zhǔn)配置模板但是每個(gè)redis服務(wù)器又需要個(gè)性設(shè)置的時(shí)候很有用。 # include /path/to/local.conf # include /path/to/other.conf# 允許訪問(wèn)的服務(wù)器ip bind 0.0.0.0# 3.2里的參數(shù),是否開(kāi)啟保護(hù)模式,默認(rèn)開(kāi)啟。要是配置里沒(méi)有指定bind和密碼。開(kāi)啟該參數(shù)后,redis只會(huì)本地進(jìn)行訪問(wèn),拒絕外部訪問(wèn)。要是開(kāi)啟了密碼 和bind,可以開(kāi)啟。否 ## 則最好關(guān)閉,設(shè)置為no。 protected-mode yes# Redis監(jiān)聽(tīng)的端口 port 6379# 此參數(shù)確定了TCP連接中已完成隊(duì)列(完成三次握手之后)的長(zhǎng)度, 當(dāng)然此值必須不大于Linux系統(tǒng)定義的/proc/sys/net/core/somaxconn值,默認(rèn)是511,而Linux的默認(rèn)參數(shù)值是128。當(dāng) #系統(tǒng)并發(fā)量大并且客戶端速度緩慢的#時(shí)候,可以將這二個(gè)參數(shù)一起參考設(shè)定。該內(nèi)核參數(shù)默認(rèn)值一般是128,對(duì)于負(fù)載很大的服務(wù)程序來(lái)說(shuō)大大的不夠。一般會(huì)將它修改為2048或者更大##。在/etc/sysctl.conf中添加 :net.core.somaxconn = #2048,然后在終端中執(zhí)行sysctl -p。 tcp-backlog 511#配置unix socket來(lái)讓redis支持監(jiān)聽(tīng)本地連接。 # unixsocket /var/run/redis/redis.sock #配置unix socket使用文件的權(quán)限 # unixsocketperm 700# 此參數(shù)為設(shè)置客戶端空閑超過(guò)timeout,服務(wù)端會(huì)斷開(kāi)連接,為0則服務(wù)端不會(huì)主動(dòng)斷開(kāi)連接,不能小于0。 timeout 0#tcp keepalive參數(shù)。如果設(shè)置不為0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個(gè)好處:檢測(cè)掛掉的對(duì)端。降低中間設(shè)備出問(wèn)題而導(dǎo)致網(wǎng)絡(luò)看似連接卻已經(jīng)與對(duì)端端口的問(wèn) #題。在Linux內(nèi)核中,設(shè)置了keepalive#,redis會(huì)定時(shí)給對(duì)端發(fā)送ack。檢測(cè)到對(duì)端關(guān)閉需要兩倍的設(shè)置值。 tcp-keepalive 300################################ GENERAL ##################################### #是否在后臺(tái)執(zhí)行,yes:后臺(tái)運(yùn)行;no:不是后臺(tái)運(yùn)行(老版本默認(rèn)) daemonize yessupervised no#redis的進(jìn)程文件 pidfile /var/run/redis_6379.pid#指定了服務(wù)端日志的級(jí)別。級(jí)別包括:debug(很多信息,方便開(kāi)發(fā)、測(cè)試),verbose(許多有用的信息,但是沒(méi)有debug級(jí)別信息多),notice(適當(dāng)?shù)娜罩炯?jí)別,適合生產(chǎn)環(huán)境),wa#rn(只有非常重要的信息) loglevel notice#指定了記錄日志的文件。空字符串的話,日志會(huì)打印到標(biāo)準(zhǔn)輸出設(shè)備。后臺(tái)運(yùn)行的redis標(biāo)準(zhǔn)輸出是/dev/null。 logfile "/dev/null"#是否打開(kāi)記錄syslog功能 # syslog-enabled no#syslog的標(biāo)識(shí)符。 # syslog-ident redis# redis configuration file example. # ./redis-server /path/to/redis.conf################################## INCLUDES ################################### # 這在你有標(biāo)準(zhǔn)配置模板但是每個(gè)redis服務(wù)器又需要個(gè)性設(shè)置的時(shí)候很有用。 # include /path/to/local.conf # include /path/to/other.conf# 允許訪問(wèn)的服務(wù)器ip bind 0.0.0.0# 3.2里的參數(shù),是否開(kāi)啟保護(hù)模式,默認(rèn)開(kāi)啟。要是配置里沒(méi)有指定bind和密碼。開(kāi)啟該參數(shù)后,redis只會(huì)本地進(jìn)行訪問(wèn),拒絕外部訪問(wèn)。要是開(kāi)啟了密碼 和bind,可以開(kāi)啟。否 ## 則最好關(guān)閉,設(shè)置為no。 protected-mode yes# Redis監(jiān)聽(tīng)的端口 port 6379# 此參數(shù)確定了TCP連接中已完成隊(duì)列(完成三次握手之后)的長(zhǎng)度, 當(dāng)然此值必須不大于Linux系統(tǒng)定義的/proc/sys/net/core/somaxconn值,默認(rèn)是511,而Linux的默認(rèn)參數(shù)值是128。當(dāng) #系統(tǒng)并發(fā)量大并且客戶端速度緩慢的#時(shí)候,可以將這二個(gè)參數(shù)一起參考設(shè)定。該內(nèi)核參數(shù)默認(rèn)值一般是128,對(duì)于負(fù)載很大的服務(wù)程序來(lái)說(shuō)大大的不夠。一般會(huì)將它修改為2048或者更大##。在/etc/sysctl.conf中添加 :net.core.somaxconn = #2048,然后在終端中執(zhí)行sysctl -p。 tcp-backlog 511#配置unix socket來(lái)讓redis支持監(jiān)聽(tīng)本地連接。 # unixsocket /var/run/redis/redis.sock #配置unix socket使用文件的權(quán)限 # unixsocketperm 700# 此參數(shù)為設(shè)置客戶端空閑超過(guò)timeout,服務(wù)端會(huì)斷開(kāi)連接,為0則服務(wù)端不會(huì)主動(dòng)斷開(kāi)連接,不能小于0。 timeout 0#tcp keepalive參數(shù)。如果設(shè)置不為0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個(gè)好處:檢測(cè)掛掉的對(duì)端。降低中間設(shè)備出問(wèn)題而導(dǎo)致網(wǎng)絡(luò)看似連接卻已經(jīng)與對(duì)端端口的問(wèn) #題。在Linux內(nèi)核中,設(shè)置了keepalive#,redis會(huì)定時(shí)給對(duì)端發(fā)送ack。檢測(cè)到對(duì)端關(guān)閉需要兩倍的設(shè)置值。 tcp-keepalive 300################################ GENERAL ##################################### #是否在后臺(tái)執(zhí)行,yes:后臺(tái)運(yùn)行;no:不是后臺(tái)運(yùn)行(老版本默認(rèn)) daemonize yessupervised no#redis的進(jìn)程文件 pidfile /var/run/redis_6379.pid#指定了服務(wù)端日志的級(jí)別。級(jí)別包括:debug(很多信息,方便開(kāi)發(fā)、測(cè)試),verbose(許多有用的信息,但是沒(méi)有debug級(jí)別信息多),notice(適當(dāng)?shù)娜罩炯?jí)別,適合生產(chǎn)環(huán)境),wa#rn(只有非常重要的信息) loglevel notice#指定了記錄日志的文件。空字符串的話,日志會(huì)打印到標(biāo)準(zhǔn)輸出設(shè)備。后臺(tái)運(yùn)行的redis標(biāo)準(zhǔn)輸出是/dev/null。 logfile "/dev/null"#是否打開(kāi)記錄syslog功能 # syslog-enabled no#syslog的標(biāo)識(shí)符。 # syslog-ident redis# redis configuration file example. # ./redis-server /path/to/redis.conf################################## INCLUDES ################################### # 這在你有標(biāo)準(zhǔn)配置模板但是每個(gè)redis服務(wù)器又需要個(gè)性設(shè)置的時(shí)候很有用。 # include /path/to/local.conf # include /path/to/other.conf# 允許訪問(wèn)的服務(wù)器ip bind 0.0.0.0# 3.2里的參數(shù),是否開(kāi)啟保護(hù)模式,默認(rèn)開(kāi)啟。要是配置里沒(méi)有指定bind和密碼。開(kāi)啟該參數(shù)后,redis只會(huì)本地進(jìn)行訪問(wèn),拒絕外部訪問(wèn)。要是開(kāi)啟了密碼 和bind,可以開(kāi)啟。否 ## 則最好關(guān)閉,設(shè)置為no。 protected-mode yes# Redis監(jiān)聽(tīng)的端口 port 6379# 此參數(shù)確定了TCP連接中已完成隊(duì)列(完成三次握手之后)的長(zhǎng)度, 當(dāng)然此值必須不大于Linux系統(tǒng)定義的/proc/sys/net/core/somaxconn值,默認(rèn)是511,而Linux的默認(rèn)參數(shù)值是128。當(dāng) #系統(tǒng)并發(fā)量大并且客戶端速度緩慢的#時(shí)候,可以將這二個(gè)參數(shù)一起參考設(shè)定。該內(nèi)核參數(shù)默認(rèn)值一般是128,對(duì)于負(fù)載很大的服務(wù)程序來(lái)說(shuō)大大的不夠。一般會(huì)將它修改為2048或者更大##。在/etc/sysctl.conf中添加 :net.core.somaxconn = #2048,然后在終端中執(zhí)行sysctl -p。 tcp-backlog 511#配置unix socket來(lái)讓redis支持監(jiān)聽(tīng)本地連接。 # unixsocket /var/run/redis/redis.sock #配置unix socket使用文件的權(quán)限 # unixsocketperm 700# 此參數(shù)為設(shè)置客戶端空閑超過(guò)timeout,服務(wù)端會(huì)斷開(kāi)連接,為0則服務(wù)端不會(huì)主動(dòng)斷開(kāi)連接,不能小于0。 timeout 0#tcp keepalive參數(shù)。如果設(shè)置不為0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個(gè)好處:檢測(cè)掛掉的對(duì)端。降低中間設(shè)備出問(wèn)題而導(dǎo)致網(wǎng)絡(luò)看似連接卻已經(jīng)與對(duì)端端口的問(wèn) #題。在Linux內(nèi)核中,設(shè)置了keepalive#,redis會(huì)定時(shí)給對(duì)端發(fā)送ack。檢測(cè)到對(duì)端關(guān)閉需要兩倍的設(shè)置值。 tcp-keepalive 300################################ GENERAL ##################################### #是否在后臺(tái)執(zhí)行,yes:后臺(tái)運(yùn)行;no:不是后臺(tái)運(yùn)行(老版本默認(rèn))daemonize yessupervised no#redis的進(jìn)程文件 pidfile /var/run/redis_6379.pid#指定了服務(wù)端日志的級(jí)別。級(jí)別包括:debug(很多信息,方便開(kāi)發(fā)、測(cè)試),verbose(許多有用的信息,但是沒(méi)有debug級(jí)別信息多),notice(適當(dāng)?shù)娜罩炯?jí)別,適合生產(chǎn)環(huán)境),wa#rn(只有非常重要的信息) loglevel notice#指定了記錄日志的文件。空字符串的話,日志會(huì)打印到標(biāo)準(zhǔn)輸出設(shè)備。后臺(tái)運(yùn)行的redis標(biāo)準(zhǔn)輸出是/dev/null。 logfile "/dev/null"#是否打開(kāi)記錄syslog功能 # syslog-enabled no#syslog的標(biāo)識(shí)符。 # syslog-ident redis# redis configuration file example. # ./redis-server /path/to/redis.conf################################## INCLUDES ################################### # 這在你有標(biāo)準(zhǔn)配置模板但是每個(gè)redis服務(wù)器又需要個(gè)性設(shè)置的時(shí)候很有用。 # include /path/to/local.conf # include /path/to/other.conf# 允許訪問(wèn)的服務(wù)器ip bind 0.0.0.0# 3.2里的參數(shù),是否開(kāi)啟保護(hù)模式,默認(rèn)開(kāi)啟。要是配置里沒(méi)有指定bind和密碼。開(kāi)啟該參數(shù)后,redis只會(huì)本地進(jìn)行訪問(wèn),拒絕外部訪問(wèn)。要是開(kāi)啟了密碼 和bind,可以開(kāi)啟。否 ## 則最好關(guān)閉,設(shè)置為no。 protected-mode yes# Redis監(jiān)聽(tīng)的端口 port 6379# 此參數(shù)確定了TCP連接中已完成隊(duì)列(完成三次握手之后)的長(zhǎng)度, 當(dāng)然此值必須不大于Linux系統(tǒng)定義的/proc/sys/net/core/somaxconn值,默認(rèn)是511,而Linux的默認(rèn)參數(shù)值是128。當(dāng) #系統(tǒng)并發(fā)量大并且客戶端速度緩慢的#時(shí)候,可以將這二個(gè)參數(shù)一起參考設(shè)定。該內(nèi)核參數(shù)默認(rèn)值一般是128,對(duì)于負(fù)載很大的服務(wù)程序來(lái)說(shuō)大大的不夠。一般會(huì)將它修改為2048或者更大##。在/etc/sysctl.conf中添加 :net.core.somaxconn = #2048,然后在終端中執(zhí)行sysctl -p。 tcp-backlog 511#配置unix socket來(lái)讓redis支持監(jiān)聽(tīng)本地連接。 # unixsocket /var/run/redis/redis.sock #配置unix socket使用文件的權(quán)限 # unixsocketperm 700# 此參數(shù)為設(shè)置客戶端空閑超過(guò)timeout,服務(wù)端會(huì)斷開(kāi)連接,為0則服務(wù)端不會(huì)主動(dòng)斷開(kāi)連接,不能小于0。 timeout 0#tcp keepalive參數(shù)。如果設(shè)置不為0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個(gè)好處:檢測(cè)掛掉的對(duì)端。降低中間設(shè)備出問(wèn)題而導(dǎo)致網(wǎng)絡(luò)看似連接卻已經(jīng)與對(duì)端端口的問(wèn) #題。在Linux內(nèi)核中,設(shè)置了keepalive#,redis會(huì)定時(shí)給對(duì)端發(fā)送ack。檢測(cè)到對(duì)端關(guān)閉需要兩倍的設(shè)置值。 tcp-keepalive 300################################ GENERAL ##################################### #是否在后臺(tái)執(zhí)行,yes:后臺(tái)運(yùn)行;no:不是后臺(tái)運(yùn)行(老版本默認(rèn)) daemonize yessupervised no#redis的進(jìn)程文件 pidfile /var/run/redis_6379.pid#指定了服務(wù)端日志的級(jí)別。級(jí)別包括:debug(很多信息,方便開(kāi)發(fā)、測(cè)試),verbose(許多有用的信息,但是沒(méi)有debug級(jí)別信息多),notice(適當(dāng)?shù)娜罩炯?jí)別,適合生產(chǎn)環(huán)境),wa#rn(只有非常重要的信息) loglevel noticeloglevel notice#指定了記錄日志的文件。空字符串的話,日志會(huì)打印到標(biāo)準(zhǔn)輸出設(shè)備。后臺(tái)運(yùn)行的redis標(biāo)準(zhǔn)輸出是/dev/null。 logfile "/dev/null"#是否打開(kāi)記錄syslog功能 # syslog-enabled no#syslog的標(biāo)識(shí)符。 # syslog-ident redis# redis configuration file example. # ./redis-server /path/to/redis.conf################################## INCLUDES ################################### # 這在你有標(biāo)準(zhǔn)配置模板但是每個(gè)redis服務(wù)器又需要個(gè)性設(shè)置的時(shí)候很有用。 # include /path/to/local.conf # include /path/to/other.conf# 允許訪問(wèn)的服務(wù)器ip bind 0.0.0.0# 3.2里的參數(shù),是否開(kāi)啟保護(hù)模式,默認(rèn)開(kāi)啟。要是配置里沒(méi)有指定bind和密碼。開(kāi)啟該參數(shù)后,redis只會(huì)本地進(jìn)行訪問(wèn),拒絕外部訪問(wèn)。要是開(kāi)啟了密碼 和bind,可以開(kāi)啟。否 ## 則最好關(guān)閉,設(shè)置為no。 protected-mode yes# Redis監(jiān)聽(tīng)的端口 port 6379# 此參數(shù)確定了TCP連接中已完成隊(duì)列(完成三次握手之后)的長(zhǎng)度, 當(dāng)然此值必須不大于Linux系統(tǒng)定義的/proc/sys/net/core/somaxconn值,默認(rèn)是511,而Linux的默認(rèn)參數(shù)值是128。當(dāng) #系統(tǒng)并發(fā)量大并且客戶端速度緩慢的#時(shí)候,可以將這二個(gè)參數(shù)一起參考設(shè)定。該內(nèi)核參數(shù)默認(rèn)值一般是128,對(duì)于負(fù)載很大的服務(wù)程序來(lái)說(shuō)大大的不夠。一般會(huì)將它修改為2048或者更大##。在/etc/sysctl.conf中添加 :net.core.somaxconn = #2048,然后在終端中執(zhí)行sysctl -p。 tcp-backlog 511#配置unix socket來(lái)讓redis支持監(jiān)聽(tīng)本地連接。 # unixsocket /var/run/redis/redis.sock #配置unix socket使用文件的權(quán)限 # unixsocketperm 700# 此參數(shù)為設(shè)置客戶端空閑超過(guò)timeout,服務(wù)端會(huì)斷開(kāi)連接,為0則服務(wù)端不會(huì)主動(dòng)斷開(kāi)連接,不能小于0。 timeout 0#tcp keepalive參數(shù)。如果設(shè)置不為0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個(gè)好處:檢測(cè)掛掉的對(duì)端。降低中間設(shè)備出問(wèn)題而導(dǎo)致網(wǎng)絡(luò)看似連接卻已經(jīng)與對(duì)端端口的問(wèn) #題。在Linux內(nèi)核中,設(shè)置了keepalive#,redis會(huì)定時(shí)給對(duì)端發(fā)送ack。檢測(cè)到對(duì)端關(guān)閉需要兩倍的設(shè)置值。 tcp-keepalive 300################################ GENERAL ##################################### #是否在后臺(tái)執(zhí)行,yes:后臺(tái)運(yùn)行;no:不是后臺(tái)運(yùn)行(老版本默認(rèn)) daemonize yessupervised no#redis的進(jìn)程文件 pidfile /var/run/redis_6379.pid#指定了服務(wù)端日志的級(jí)別。級(jí)別包括:debug(很多信息,方便開(kāi)發(fā)、測(cè)試),verbose(許多有用的信息,但是沒(méi)有debug級(jí)別信息多),notice(適當(dāng)?shù)娜罩炯?jí)別,適合生產(chǎn)環(huán)境),wa#rn(只有非常重要的信息) loglevel notice#指定了記錄日志的文件。空字符串的話,日志會(huì)打印到標(biāo)準(zhǔn)輸出設(shè)備。后臺(tái)運(yùn)行的redis標(biāo)準(zhǔn)輸出是/dev/null。 logfile "/dev/null"#是否打開(kāi)記錄syslog功能 # syslog-enabled no#syslog的標(biāo)識(shí)符。 # syslog-ident redis#執(zhí)行任務(wù)的頻率為1s除以hz。 hz 10dynamic-hz yes#在aof重寫的時(shí)候,如果打開(kāi)了aof-rewrite-incremental-fsync開(kāi)關(guān),系統(tǒng)會(huì)每32MB執(zhí)行一次fsync。這對(duì)于把文件寫入磁盤是有幫助的,可以避免過(guò)大的延遲峰值。 aof-rewrite-incremental-fsync yes rdb-save-incremental-fsync yes總結(jié)
以上是生活随笔為你收集整理的一键安装配置Redis详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java ldap userpasswo
- 下一篇: java创建mysql驱动,JDBC之J