#### 通用配置
目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、柳林網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。 daemonize no #是否作為守護(hù)進(jìn)程運(yùn)行,默認(rèn)為否,改成yes會(huì)生成一個(gè)pid文件。 pidfile /var/lib/redis.pid #如果以后臺(tái)進(jìn)程運(yùn)行,則需要指定一個(gè)pid,默認(rèn)為/var/run/redis.pid。 bind 127.0.0.1 #綁定主機(jī)IP,默認(rèn)值為127.0.0.1,可以有多個(gè) port 6379 #redis默認(rèn)監(jiān)聽端口 unixsocket /tmp/redis.sock # 也可以監(jiān)聽socket unixsocketperm 755 #當(dāng)監(jiān)聽socket時(shí)可以指定權(quán)限為755 timeout 300 #客戶端閑置多少秒后,斷開鏈接,默認(rèn)300秒,如果為0表示關(guān)閉該功能,永不關(guān)閉 tcp-keepalive 0 #TCP連接?;畈呗裕梢酝ㄟ^tcp-keepalive配置項(xiàng)來進(jìn)行 #設(shè)置,單位為秒,假如設(shè)置為60秒,則server端會(huì)每60秒向連接空閑的客戶端 #發(fā)起一次ACK請求,以檢查客戶端是否已經(jīng)掛掉,對于無響應(yīng)的客戶端則會(huì)關(guān) #閉其連接,如果設(shè)置為0,則不會(huì)進(jìn)行保活檢測。 loglevel verbose #日志記錄等級,有4個(gè)可選值,debug,verbose(默認(rèn)值),notice,warning。 logfile stdout #指定日志輸出的文件名,默認(rèn)為標(biāo)準(zhǔn)輸出stdout,也可以設(shè)置為/dev/null屏蔽日志 syslog-ident redis #如果希望日志打印到syslog中,通過syslog-enabled來控制。另外,syslog-ident #還可以讓你指定syslog里的日志標(biāo)志。 syslog-facility local0 #指定syslog的設(shè)備,可以是USER或者local0-local7 database 16 #可用數(shù)據(jù)庫,默認(rèn)值為16,默認(rèn)數(shù)據(jù)庫為0,select n 選擇數(shù)據(jù)庫,0-15 maxclients 128 #設(shè)置同一時(shí)間大客戶端連接數(shù),默認(rèn)無限制,Redis可以同時(shí)打開的客戶端連接數(shù) #為Redis進(jìn)程可以打開的大文件描述符數(shù),如果設(shè)置 maxclients 0,表示不作限制。當(dāng)客戶端連接數(shù) #到達(dá)限制時(shí),Redis會(huì)關(guān)閉新的連接并向客戶端返回max number of clients reached錯(cuò)誤信息。 maxmemory <bytes> #指定Redis大內(nèi)存限制,Redis在啟動(dòng)時(shí)會(huì)把數(shù)據(jù)加載到內(nèi)存中,達(dá)到大內(nèi)存 #后,Redis會(huì)先嘗試清除已到期或即將到期的Key,當(dāng)此方法處理 后,仍然到達(dá)大內(nèi)存設(shè)置,將無法再 #進(jìn)行寫入操作,但仍然可以進(jìn)行讀取操作。Redis新的vm機(jī)制,會(huì)把Key存放內(nèi)存,Value會(huì)存放在swap區(qū) slowlog-log-slower-than 10000 #單位:微秒(microsecond,1秒 = 1,000,000 微秒) client-output-buffer-limit slave 256mb 64mb 60 #向slave發(fā)送rdb 時(shí)的時(shí)間、buffer限制。 client-output-buffer-limit pubsub 32mb 8mb 60 #向訂閱者發(fā)送數(shù)據(jù)時(shí)的時(shí)間、buffer限制。#### 持久化-RDB
save 900 1 #表示每900秒且至少有一個(gè)key改變,就觸發(fā)一次持久化
save 300 10 #表示每300秒且至少有10個(gè)key改變,就觸發(fā)一次持久化
save 60 10000 #表示每60秒且至少有10000個(gè)key改變,就觸發(fā)一次持久化
save "" #這樣可以禁用rdb持久化
stop-writes-on-bgsave-error yes #rdb持久化寫入磁盤避免不了會(huì)出現(xiàn)失敗的情況,默認(rèn) 一出現(xiàn)失敗,redis會(huì)馬上停止寫操作。如果你覺得無所謂,那就可以使用該選項(xiàng)關(guān)閉這個(gè)功能。
rdbcompression yes #指定存儲(chǔ)至本地?cái)?shù)據(jù)庫時(shí)是否壓縮數(shù)據(jù),默認(rèn)為yes,redis采用LZF壓縮,如果
#為了節(jié)省CPU時(shí)間可以關(guān)閉改選項(xiàng),但會(huì)導(dǎo)致數(shù)據(jù)庫文件變得巨大。
rdbchecksum yes #是否要進(jìn)行數(shù)據(jù)校驗(yàn)
dbfilename dump.rdb #指定本地?cái)?shù)據(jù)庫文件名,默認(rèn)值是dump.rdb,最好添加絕對路徑,若不添加,
#則在啟動(dòng)用戶的home目錄下。
dir /var/lib/redis/ #本地?cái)?shù)據(jù)庫存放路徑,默認(rèn)值為 ./
#### 持久化-AOF
appendonly no #指定是否在每次更新操作后進(jìn)行日志記錄,Redis在默認(rèn)情況下是異步的把數(shù)據(jù)寫入
#磁盤,如果不開啟,可能會(huì)在斷電時(shí)導(dǎo)致一段時(shí)間內(nèi)的數(shù)據(jù)丟失。因?yàn)?redis本身同步數(shù)據(jù)文件是按
#上面save條件來同步的,所以有的數(shù)據(jù)會(huì)在一段時(shí)間內(nèi)只存在于內(nèi)存中。默認(rèn)為no。
appendfilename "appendonly.aof" #指定aof更新日志文件名,保存在dir參數(shù)指定的目錄
appendfsync everysec #指定更新日志條件(no:表示等操作系統(tǒng)進(jìn)行數(shù)據(jù)緩存同步到磁盤(快),
#always:表示每次更新操作后手動(dòng)調(diào)用fsync()將數(shù)據(jù)寫到磁盤(慢,安全),
#everysec:表示每秒同步一次(折衷,默認(rèn)值))。
no-appendfsync-on-rewrite no #使用no可避免當(dāng)寫入量非常大時(shí)的磁盤io阻塞
auto-aof-rewrite-percentage 10 #規(guī)定什么情況下回觸發(fā)aof重寫。該值為一個(gè)比例,10表示當(dāng)aof文件增幅達(dá)到10%時(shí)則會(huì)觸發(fā)重寫機(jī)制
auto-aof-rewrite-min-size 64mb #重寫會(huì)有一個(gè)條件,就是不能低于64Mb
#### replication -redis的復(fù)制配置
slave of <masterip> <masterport> #設(shè)置主從服務(wù)器的主服務(wù)器的IP及端口
masterauth <master-password> #當(dāng)本機(jī)為從服務(wù)時(shí),設(shè)置主服務(wù)器的鏈接密碼
#AUTH命令提供密碼,默認(rèn)關(guān)閉
slave-read-only yes //讓從只讀
repl-ping-slave-period 10 //設(shè)置slave向master發(fā)起ping的頻率,每10秒發(fā)起一次
repl-timeout 60 //設(shè)置slave ping不通master多少s后就超時(shí)
repl-disable-tcp-nodelay no //是否開啟tcp_nodelay,開啟后將會(huì)使用更少的帶寬,但會(huì)有延遲,所以建議關(guān)閉
repl-backlog-size 1mb //同步隊(duì)列的長度,backlog是master的一個(gè)緩沖區(qū),主從斷開后,master會(huì)先把數(shù)據(jù)寫到緩沖區(qū),salve再次連接會(huì)從緩沖區(qū)中同步數(shù)據(jù)
repl-backlog-ttl 3600 //主從斷開后,緩沖區(qū)的有效期,默認(rèn)1小時(shí)
slave-priority 100 //多個(gè)slave是可以設(shè)置優(yōu)先級的,數(shù)值越小優(yōu)先級越高,應(yīng)用于集群中,支持salve切換為master,優(yōu)先級高的才會(huì)切換
min-slaves-to-write 3 //和下面的一起使用,它的意思是master發(fā)現(xiàn)有超過3個(gè)slave的延遲高于10s,那么master就會(huì)暫時(shí)停止寫操作。這兩個(gè)數(shù)值任何一個(gè)為0,則關(guān)閉該功能,默認(rèn)第一數(shù)值是0
min-slaves-max-lag 10
#### redis 安全配置
requirepass foobared #設(shè)置redis連接密碼,如果配置了連接密碼,客戶端在連接redis時(shí)需要
maxmemory-policy volatile-lru #指定內(nèi)存移除規(guī)則
maxmemory-samples 3 #LRU算法和最小TTL算法并非是精確的算法,而是估算值。所以你可以設(shè)置樣本的大小。假如redis默認(rèn)會(huì)檢查三個(gè)key并選擇其中LRU的那個(gè),那么你可以改變這個(gè)key樣本的數(shù)量。
#### virtual memory 虛擬內(nèi)存
vm-enabled no #指定是否啟用虛擬內(nèi)存機(jī)制,默認(rèn)值為no,VM機(jī)制將數(shù)據(jù)分頁存放,由Redis將訪問量
#較少的頁即冷數(shù)據(jù)swap到磁盤上,訪問多的頁面由磁盤自動(dòng)換出到內(nèi)存中(在后面的文章我會(huì)仔細(xì)分析
#Redis的VM機(jī)制)
vm-swap-file /tmp/redis.swap #虛擬內(nèi)存文件路徑,默認(rèn)值為/tmp/redis.swap,不可多個(gè)Redis實(shí)例共享
vm-max-memory 0 #將所有大于vm-max-memory的數(shù)據(jù)存入虛擬內(nèi)存,無論vm-max-memory設(shè)置多小,所有
#索引數(shù)據(jù)都是內(nèi)存存儲(chǔ)的(Redis的索引數(shù)據(jù) 就是keys),也就是說,當(dāng)vm-max-memory設(shè)置為0的時(shí)候,其實(shí)是
#所有value都存在于磁盤。默認(rèn)值為0。
vm-page-size 32 #Redis swap文件分成了很多的page,一個(gè)對象可以保存在多個(gè)page上面,但一個(gè)page上
#不能被多個(gè)對象共享,vm-page-size是要根據(jù)存儲(chǔ)的 數(shù)據(jù)大小來設(shè)定的,作者建議如果存儲(chǔ)很多小對象,
#page大小最好設(shè)置為32或者64bytes;如果存儲(chǔ)很大大對象,則可以使用更大的page,如果不 確定,
#就使用默認(rèn)值。
vm-pages 134217728 #設(shè)置swap文件中的page數(shù)量,由于頁表(一種表示頁面空閑或使用的bitmap)
#是在放在內(nèi)存中的,,在磁盤上每8個(gè)pages將消耗1byte的內(nèi)存
vm-max-threads 4 #設(shè)置訪問swap文件的線程數(shù),最好不要超過機(jī)器的核數(shù),如果設(shè)置為0,那么所有
#對swap文件的操作都是串行的,可能會(huì)造成比較長時(shí)間的延遲。默認(rèn)值為4
注意:Redis官方文檔對VM的使用提出了一些建議:
當(dāng)你的key很小而value很大時(shí),使用VM的效果會(huì)比較好.因?yàn)檫@樣節(jié)約的內(nèi)存比較大.
當(dāng)你的key不小時(shí),可以考慮使用一些非常方法將很大的key變成很大的value,比如你可以考慮將key,value組合成一個(gè)新的value.
最好使用linux ext3 等對稀疏文件支持比較好的文件系統(tǒng)保存你的swap文件.
vm-max-threads這個(gè)參數(shù),可以設(shè)置訪問swap文件的線程數(shù),設(shè)置最好不要超過機(jī)器的核數(shù).如果設(shè)置為0,那么所有對swap文件的操作都是串行的.可能會(huì)造成比較長時(shí)間的延遲,但是對數(shù)據(jù)完整性有很好的保證.
#### 慢日志
針對慢日志,你可以設(shè)置兩個(gè)參數(shù),一個(gè)是執(zhí)行時(shí)長,單位是微妙,另一個(gè)是慢日志的長度。當(dāng)一個(gè)新的命令被寫入日志時(shí),最老的一條會(huì)從命令日志隊(duì)列中被移除。
slowlog-log-slower-than 10000 #慢于10000ms則記錄日志
slowlog-max-len 128 #日志長度
#### 主從配置
#### advanced config
glueoutbuf yes #設(shè)置在向客戶端應(yīng)答時(shí),是否把較小的包合并為一個(gè)包發(fā)送,默認(rèn)為開啟
hash-max-zipmap-entries 64 #指定在超過一定的數(shù)量時(shí),采用一種特殊的哈希算法
hash-max-zipmap-value 512 #指定在者大的元素超過某一臨界值時(shí),采用一種特殊的哈希算法
activerehashing yes #是否重置Hash表,指定是否激活重置哈希,默認(rèn)為開啟(后面在介紹Redis
#的哈希算法時(shí)具體介紹)
include /path/to/local.conf #指定包含其它的配置文件,可以在同一主機(jī)上多個(gè)Redis實(shí)例之間使
#用同一份配置文件,而同時(shí)各個(gè)實(shí)例又擁有自己的特定配置文件
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文標(biāo)題:03redis配置文件解釋-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://m.rwnh.cn/article6/ddchig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、云服務(wù)器、Google、電子商務(wù)、用戶體驗(yàn)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容