03redis配置文件解釋-創(chuàng)新互聯(lián)

#### 通用配置

目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、柳林網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。       daemonize no #是否作為守護(hù)進(jìn)程運行,默認(rèn)為否,改成yes會生成一個pid文件。     pidfile /var/lib/redis.pid  #如果以后臺進(jìn)程運行,則需要指定一個pid,默認(rèn)為/var/run/redis.pid。     bind 127.0.0.1 #綁定主機(jī)IP,默認(rèn)值為127.0.0.1,可以有多個     port 6379 #redis默認(rèn)監(jiān)聽端口     unixsocket /tmp/redis.sock # 也可以監(jiān)聽socket     unixsocketperm 755 #當(dāng)監(jiān)聽socket時可以指定權(quán)限為755     timeout 300 #客戶端閑置多少秒后,斷開鏈接,默認(rèn)300秒,如果為0表示關(guān)閉該功能,永不關(guān)閉     tcp-keepalive 0 #TCP連接?;畈呗?,可以通過tcp-keepalive配置項來進(jìn)行     #設(shè)置,單位為秒,假如設(shè)置為60秒,則server端會每60秒向連接空閑的客戶端     #發(fā)起一次ACK請求,以檢查客戶端是否已經(jīng)掛掉,對于無響應(yīng)的客戶端則會關(guān)     #閉其連接,如果設(shè)置為0,則不會進(jìn)行?;顧z測。     loglevel verbose #日志記錄等級,有4個可選值,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ù),默認(rèn)無限制,Redis可以同時打開的客戶端連接數(shù)     #為Redis進(jìn)程可以打開的大文件描述符數(shù),如果設(shè)置 maxclients 0,表示不作限制。當(dāng)客戶端連接數(shù)     #到達(dá)限制時,Redis會關(guān)閉新的連接并向客戶端返回max number of clients reached錯誤信息。     maxmemory <bytes> #指定Redis大內(nèi)存限制,Redis在啟動時會把數(shù)據(jù)加載到內(nèi)存中,達(dá)到大內(nèi)存     #后,Redis會先嘗試清除已到期或即將到期的Key,當(dāng)此方法處理 后,仍然到達(dá)大內(nèi)存設(shè)置,將無法再     #進(jìn)行寫入操作,但仍然可以進(jìn)行讀取操作。Redis新的vm機(jī)制,會把Key存放內(nèi)存,Value會存放在swap區(qū)     slowlog-log-slower-than 10000 #單位:微秒(microsecond,1秒 = 1,000,000 微秒)     client-output-buffer-limit slave 256mb 64mb 60 #向slave發(fā)送rdb 時的時間、buffer限制。     client-output-buffer-limit pubsub 32mb 8mb 60 #向訂閱者發(fā)送數(shù)據(jù)時的時間、buffer限制。

#### 持久化-RDB

   save 900 1 #表示每900秒且至少有一個key改變,就觸發(fā)一次持久化
   save 300 10 #表示每300秒且至少有10個key改變,就觸發(fā)一次持久化
   save 60 10000 #表示每60秒且至少有10000個key改變,就觸發(fā)一次持久化
   save "" #這樣可以禁用rdb持久化
   stop-writes-on-bgsave-error yes #rdb持久化寫入磁盤避免不了會出現(xiàn)失敗的情況,默認(rèn) 一出現(xiàn)失敗,redis會馬上停止寫操作。如果你覺得無所謂,那就可以使用該選項關(guān)閉這個功能。
   rdbcompression yes #指定存儲至本地數(shù)據(jù)庫時是否壓縮數(shù)據(jù),默認(rèn)為yes,redis采用LZF壓縮,如果
   #為了節(jié)省CPU時間可以關(guān)閉改選項,但會導(dǎo)致數(shù)據(jù)庫文件變得巨大。
   rdbchecksum yes #是否要進(jìn)行數(shù)據(jù)校驗
   dbfilename dump.rdb #指定本地數(shù)據(jù)庫文件名,默認(rèn)值是dump.rdb,最好添加絕對路徑,若不添加,
   #則在啟動用戶的home目錄下。
   dir /var/lib/redis/ #本地數(shù)據(jù)庫存放路徑,默認(rèn)值為 ./

#### 持久化-AOF

   appendonly no #指定是否在每次更新操作后進(jìn)行日志記錄,Redis在默認(rèn)情況下是異步的把數(shù)據(jù)寫入
   #磁盤,如果不開啟,可能會在斷電時導(dǎo)致一段時間內(nèi)的數(shù)據(jù)丟失。因為 redis本身同步數(shù)據(jù)文件是按
   #上面save條件來同步的,所以有的數(shù)據(jù)會在一段時間內(nèi)只存在于內(nèi)存中。默認(rèn)為no。
   appendfilename "appendonly.aof" #指定aof更新日志文件名,保存在dir參數(shù)指定的目錄
   appendfsync everysec #指定更新日志條件(no:表示等操作系統(tǒng)進(jìn)行數(shù)據(jù)緩存同步到磁盤(快),
   #always:表示每次更新操作后手動調(diào)用fsync()將數(shù)據(jù)寫到磁盤(慢,安全),
   #everysec:表示每秒同步一次(折衷,默認(rèn)值))。
   no-appendfsync-on-rewrite no #使用no可避免當(dāng)寫入量非常大時的磁盤io阻塞
   auto-aof-rewrite-percentage 10 #規(guī)定什么情況下回觸發(fā)aof重寫。該值為一個比例,10表示當(dāng)aof文件增幅達(dá)到10%時則會觸發(fā)重寫機(jī)制
   auto-aof-rewrite-min-size 64mb #重寫會有一個條件,就是不能低于64Mb

#### replication -redis的復(fù)制配置

   slave of <masterip> <masterport> #設(shè)置主從服務(wù)器的主服務(wù)器的IP及端口
   masterauth <master-password> #當(dāng)本機(jī)為從服務(wù)時,設(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后就超時
   repl-disable-tcp-nodelay no //是否開啟tcp_nodelay,開啟后將會使用更少的帶寬,但會有延遲,所以建議關(guān)閉
   repl-backlog-size 1mb //同步隊列的長度,backlog是master的一個緩沖區(qū),主從斷開后,master會先把數(shù)據(jù)寫到緩沖區(qū),salve再次連接會從緩沖區(qū)中同步數(shù)據(jù)
   repl-backlog-ttl 3600 //主從斷開后,緩沖區(qū)的有效期,默認(rèn)1小時
   slave-priority 100 //多個slave是可以設(shè)置優(yōu)先級的,數(shù)值越小優(yōu)先級越高,應(yīng)用于集群中,支持salve切換為master,優(yōu)先級高的才會切換
   min-slaves-to-write 3 //和下面的一起使用,它的意思是master發(fā)現(xiàn)有超過3個slave的延遲高于10s,那么master就會暫時停止寫操作。這兩個數(shù)值任何一個為0,則關(guān)閉該功能,默認(rèn)第一數(shù)值是0
   min-slaves-max-lag 10

#### redis 安全配置
   requirepass foobared #設(shè)置redis連接密碼,如果配置了連接密碼,客戶端在連接redis時需要
   maxmemory-policy volatile-lru #指定內(nèi)存移除規(guī)則
   maxmemory-samples 3 #LRU算法和最小TTL算法并非是精確的算法,而是估算值。所以你可以設(shè)置樣本的大小。假如redis默認(rèn)會檢查三個key并選擇其中LRU的那個,那么你可以改變這個key樣本的數(shù)量。

#### virtual memory 虛擬內(nèi)存

   vm-enabled no #指定是否啟用虛擬內(nèi)存機(jī)制,默認(rèn)值為no,VM機(jī)制將數(shù)據(jù)分頁存放,由Redis將訪問量
   #較少的頁即冷數(shù)據(jù)swap到磁盤上,訪問多的頁面由磁盤自動換出到內(nèi)存中(在后面的文章我會仔細(xì)分析
   #Redis的VM機(jī)制)
   vm-swap-file /tmp/redis.swap #虛擬內(nèi)存文件路徑,默認(rèn)值為/tmp/redis.swap,不可多個Redis實例共享
   vm-max-memory 0 #將所有大于vm-max-memory的數(shù)據(jù)存入虛擬內(nèi)存,無論vm-max-memory設(shè)置多小,所有
   #索引數(shù)據(jù)都是內(nèi)存存儲的(Redis的索引數(shù)據(jù) 就是keys),也就是說,當(dāng)vm-max-memory設(shè)置為0的時候,其實是
   #所有value都存在于磁盤。默認(rèn)值為0。
   vm-page-size 32 #Redis swap文件分成了很多的page,一個對象可以保存在多個page上面,但一個page上
   #不能被多個對象共享,vm-page-size是要根據(jù)存儲的 數(shù)據(jù)大小來設(shè)定的,作者建議如果存儲很多小對象,
   #page大小最好設(shè)置為32或者64bytes;如果存儲很大大對象,則可以使用更大的page,如果不 確定,
   #就使用默認(rèn)值。
   vm-pages 134217728 #設(shè)置swap文件中的page數(shù)量,由于頁表(一種表示頁面空閑或使用的bitmap)
   #是在放在內(nèi)存中的,,在磁盤上每8個pages將消耗1byte的內(nèi)存
   vm-max-threads 4 #設(shè)置訪問swap文件的線程數(shù),最好不要超過機(jī)器的核數(shù),如果設(shè)置為0,那么所有
   #對swap文件的操作都是串行的,可能會造成比較長時間的延遲。默認(rèn)值為4

注意:Redis官方文檔對VM的使用提出了一些建議:
當(dāng)你的key很小而value很大時,使用VM的效果會比較好.因為這樣節(jié)約的內(nèi)存比較大.
當(dāng)你的key不小時,可以考慮使用一些非常方法將很大的key變成很大的value,比如你可以考慮將key,value組合成一個新的value.
最好使用linux ext3 等對稀疏文件支持比較好的文件系統(tǒng)保存你的swap文件.
vm-max-threads這個參數(shù),可以設(shè)置訪問swap文件的線程數(shù),設(shè)置最好不要超過機(jī)器的核數(shù).如果設(shè)置為0,那么所有對swap文件的操作都是串行的.可能會造成比較長時間的延遲,但是對數(shù)據(jù)完整性有很好的保證.

#### 慢日志
針對慢日志,你可以設(shè)置兩個參數(shù),一個是執(zhí)行時長,單位是微妙,另一個是慢日志的長度。當(dāng)一個新的命令被寫入日志時,最老的一條會從命令日志隊列中被移除。

   slowlog-log-slower-than 10000 #慢于10000ms則記錄日志
   slowlog-max-len 128 #日志長度

#### 主從配置

#### advanced config

   glueoutbuf yes #設(shè)置在向客戶端應(yīng)答時,是否把較小的包合并為一個包發(fā)送,默認(rèn)為開啟
   hash-max-zipmap-entries 64 #指定在超過一定的數(shù)量時,采用一種特殊的哈希算法
   hash-max-zipmap-value 512 #指定在者大的元素超過某一臨界值時,采用一種特殊的哈希算法
   activerehashing yes #是否重置Hash表,指定是否激活重置哈希,默認(rèn)為開啟(后面在介紹Redis
   #的哈希算法時具體介紹)

   include /path/to/local.conf #指定包含其它的配置文件,可以在同一主機(jī)上多個Redis實例之間使
   #用同一份配置文件,而同時各個實例又擁有自己的特定配置文件

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標(biāo)題:03redis配置文件解釋-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article6/ddchig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、云服務(wù)器、Google電子商務(wù)、用戶體驗、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計