成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Redis筆記01-Redis配置文件

Keven / 2711人閱讀

摘要:配置主庫的數(shù)據(jù)庫密碼。具體參見手冊中的章節(jié)如果該項(xiàng)設(shè)置為默認(rèn)就是當(dāng)一定比例的鍵空間沒有被覆蓋到就是某一部分的哈希槽沒了,有可能是暫時(shí)掛了集群就停止處理任何查詢操作。比如,如果需要開啟針對列表的事件通知,則該選項(xiàng)需要配置為

1.配置文件用法

啟動(dòng)redis的時(shí)候指定配置?件路徑:

./redis-server /path/to/redis.conf

不指定配置?件的時(shí)候使?內(nèi)置配置?件啟動(dòng),此?法僅適?于開發(fā)和測試。

2.include配置配置

?于引?其他配置?件,配置集群的時(shí)候?于引?公共配置?法如下:

include /path/to/other.conf
3.bind

此配置?于綁定服務(wù)器?絡(luò)接?,默認(rèn)情況下綁定所有可?的?絡(luò)端?。 可以通
過: bind ip1 ip2... 綁定多個(gè)端?。 ?如服務(wù)器局域?ip地址為:192.168.20.127。
以下配置可以實(shí)現(xiàn)局域?和本地訪問:

bind 192.168.20.127 127.0.0.1

注:

bind 192.168.1.100 10.0.0.1
bind 127.0.0.1

上?配置只綁定了127.0.0.1這個(gè)ip。

bind 0.0.0.0

為綁定所有可??絡(luò)端?。

4.protected-mode

保護(hù)模式配置:

protectedmode yes

當(dāng)保護(hù)模式開啟的時(shí)候,且沒有配置bind和密碼,只有ipv4和ipv6的回路ip127.0.0.1
and ::1可以訪問

5.port

redis監(jiān)聽的端?配置:

port 6379
port 0 不監(jiān)聽端?
6.timeout

設(shè)置客戶端連接超時(shí)時(shí)間,0的時(shí)候?yàn)殛P(guān)閉此功能。當(dāng)客戶端在此時(shí)間段內(nèi)沒有發(fā)送
指令,關(guān)閉連接。

timeout 0
7.daemonize
daemonize yes

設(shè)置redis后臺(tái)運(yùn)?當(dāng)后臺(tái)運(yùn)?的時(shí)候會(huì)?成?個(gè)進(jìn)程?件:

/var/run/redispid
8.pidfile

配置后臺(tái)運(yùn)?時(shí)?成的pid?件路徑:

pidfile /var/run/redis6379.pid
9 loglevel

指定?志打印等級:

debug(開發(fā)測試)、verbose、notice(線上)、warning

loglevel notice
10.logfile

指定?志?件路徑和名稱如:

logfile "/Users/yuanweipeng/Desktop/redislog"

設(shè)置系統(tǒng)?志:

syslog-enabled no
syslog-ident redis
syslog-facility local0 設(shè)置系統(tǒng)?志設(shè)備名稱
11.databases

設(shè)置數(shù)據(jù)庫個(gè)數(shù):

databases 16

默認(rèn)的數(shù)據(jù)庫是db0,可以通過可以通過select dbid為每一個(gè)連接選擇不同的數(shù)據(jù)庫。數(shù)據(jù)庫的取值應(yīng)該在0-(db-1)

12.save

將內(nèi)存數(shù)據(jù)庫的內(nèi)容寫到文件中。格式為:

save  

比如:

save 900 1 900秒內(nèi)有一次key修改
save 300 10 300秒內(nèi)有10次修改
save 60 10000
13.stop-writes-on-bgsave-error

當(dāng)redis寫入到文件操作失敗后,redis將不會(huì)接受內(nèi)存寫操作。用來提醒用戶數(shù)據(jù)持久化失敗。

stop-writes-on-bgsave-error yes

如果對redis進(jìn)行了持久化監(jiān)控,可以將此項(xiàng)配置成no,實(shí)現(xiàn)即使出現(xiàn)持久化問題,redis依然可以接受內(nèi)存寫操作。

14.dbfilename

配置redis轉(zhuǎn)存文件的地址

dbfilename dump.rdb
15.dir

配置數(shù)據(jù)庫文件位置:

dir ./
16.主從復(fù)制相關(guān)

1.redis的主從復(fù)制是異步的,可以配置當(dāng)某幾個(gè)slave數(shù)據(jù)庫連不上的時(shí)候,停止接收內(nèi)存寫操作。
2.主從數(shù)據(jù)同步是自動(dòng)完成的,當(dāng)主從網(wǎng)絡(luò)短線重新連接的時(shí)候,從庫會(huì)自動(dòng)從新數(shù)據(jù)同步。

slaveof  

用于配置主庫ip地址和端口。

masterauth 

配置主庫的數(shù)據(jù)庫密碼。

slave-serve-stale-data yes

次配置用于設(shè)置當(dāng)slave和master失去連接的時(shí)候是否繼續(xù)接受客戶端連接。當(dāng)此項(xiàng)目設(shè)置為yes的時(shí)候會(huì)返回過期的數(shù)據(jù)或者null,當(dāng)設(shè)置為no的時(shí)候會(huì)返回error:

SYNC with master in progress

設(shè)置slave是否接受寫操作:

slave-read-only yes

slave可用于保存短暫的數(shù)據(jù),當(dāng)從庫和主庫同步數(shù)據(jù)的時(shí)候,會(huì)將寫入到slave的數(shù)據(jù)刪除。

repl-diskless-sync no

復(fù)制同步策略配置:disk or socket.
當(dāng)增加新的slave數(shù)據(jù)庫或者斷開后重新連接的時(shí)候,會(huì)發(fā)生全量同步,這時(shí)候是將redis的db文件直接從主庫傳輸?shù)綇膸?。文件傳輸有兩種方式:

第一種:先將內(nèi)存數(shù)據(jù)寫入磁盤,然后再將生成的文件傳輸?shù)絪lave。
第二種:直接新起一個(gè)進(jìn)程,將數(shù)據(jù)通過socket傳輸?shù)絪lave

根據(jù)網(wǎng)絡(luò)速度和磁盤速度選擇不同的復(fù)制方式。

repl-ping-slave-period 10

slave向master發(fā)送ping請求的時(shí)間間隔。

repl-timeout 60

超時(shí)時(shí)間,應(yīng)該小于repl-ping-slave-period

repl-disable-tcp-nodelay no

設(shè)置是否會(huì)有延遲時(shí)間。設(shè)置為no的時(shí)候主庫和從庫數(shù)據(jù)傳輸?shù)难舆t時(shí)間較短。但是消耗帶寬比較大。

repl-backlog-size 1mb

設(shè)置slave斷開連接的時(shí)候數(shù)據(jù)的緩沖區(qū),在緩沖區(qū)沒有用完之前,從庫回復(fù)鏈接只需要從緩沖區(qū)同步數(shù)據(jù),不需要全量同步。只有當(dāng)有從庫的時(shí)候才會(huì)設(shè)置此項(xiàng)。

repl-backlog-ttl 3600

設(shè)置當(dāng)master沒有slave連接的時(shí)候,多久釋放緩沖區(qū)。設(shè)置為0的時(shí)候表示不釋放緩沖區(qū)。

slave-priority 100

設(shè)置slave的優(yōu)先級,當(dāng)master宕機(jī)的時(shí)候會(huì)選出一個(gè)優(yōu)先級最低的slave提升為主庫。0表示不能當(dāng)作master
當(dāng)slave少于3個(gè)鏈接的時(shí)候,master停止接受寫入。判斷失聯(lián)時(shí)間為:10s內(nèi)slave沒有從master復(fù)制數(shù)據(jù),則表示失聯(lián)。

min-slaves-to-write 3 默認(rèn)設(shè)置為0,關(guān)閉此功能
min-slaves-max-lag 10
17.安全設(shè)置相關(guān)
requirepass 123456

用于設(shè)置客戶端連接密碼。

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

命令重命名。

maxclients 10000

設(shè)置最大客戶端連接數(shù)量。

maxmemory 

設(shè)置最大內(nèi)存。
當(dāng)redis內(nèi)存達(dá)到上限的時(shí)候,會(huì)根據(jù)配置的垃圾回收策略刪除key。當(dāng)沒有設(shè)置垃圾回收策略的時(shí)候,redis會(huì)對寫操作報(bào)異常,都操作仍然正常返回?cái)?shù)據(jù)。
當(dāng)沒有設(shè)置此配置項(xiàng)的時(shí)候,只有當(dāng)系統(tǒng)內(nèi)存達(dá)到上限的時(shí)候會(huì)拋出out-of-memory exception異常。

maxmemory-policy noeviction 默認(rèn)配置

volatile-lru -> 使用最近最少使用算法刪除過期的key
allkeys-lru -> 根據(jù)最近最少使用算法刪除key
volatile-random -> 從過期的key中隨機(jī)刪除
allkeys-random -> 隨機(jī)刪除key
volatile-ttl -> 刪除最近過期的key
noeviction -> 直接在寫操作的時(shí)候返回error

LRU算法中的樣本數(shù),比如redis會(huì)檢查5個(gè)key中的lru
maxmemory-samples 5

18.Redis集群

需要開啟集群配置的才能當(dāng)作Redis集群的一個(gè)節(jié)點(diǎn):

cluster-enabled :

該項(xiàng)如果設(shè)置成yes,該實(shí)例支持redis集群。否則該實(shí)例會(huì)像往常一樣以獨(dú)立模式啟動(dòng)。

集群的每一個(gè)節(jié)點(diǎn)都需要有一個(gè)配置文件,這個(gè)文件由redis生成和更新的。

cluster-config-file nodes-6379.conf

必須注意到盡管該項(xiàng)是可選的,這并不是一個(gè)用戶可以編輯的配置文件,這是redis集群節(jié)點(diǎn)自動(dòng)生成的配置文件,每次一旦配置有修改它都通過該配置文件來持久化配置(基本上都是狀態(tài)),這樣在下次啟動(dòng)的時(shí)候可以重新讀取這些配置。該文件中列出了該集群中的其他節(jié)點(diǎn)的狀態(tài),持久化變量等信息。 當(dāng)節(jié)點(diǎn)收到一些信息的時(shí)候該文件就會(huì)被沖重寫

節(jié)點(diǎn)過期時(shí)間配置,當(dāng)超過此時(shí)間則認(rèn)為此節(jié)點(diǎn)為失敗狀態(tài)。

cluster-node-timeout 15000

redis集群節(jié)點(diǎn)的最大超時(shí)時(shí)間。響應(yīng)超過這個(gè)時(shí)間的話該節(jié)點(diǎn)會(huì)被認(rèn)為是掛掉了。如果一個(gè)master節(jié)點(diǎn)超過一定的時(shí)候無法訪問,它會(huì)被它的slave取代。 該參數(shù)在redis集群配置中很重要。很明顯,當(dāng)節(jié)點(diǎn)無法訪問大部分master節(jié)點(diǎn)超過一定時(shí)間后,它會(huì)停止接受查詢請求。

cluster-slave-validity-factor 

:如果將該項(xiàng)設(shè)置為0,不管slave節(jié)點(diǎn)和master節(jié)點(diǎn)間失聯(lián)多久都會(huì)一直嘗試failover(設(shè)為正數(shù),失聯(lián)大于一定時(shí)間(factor*節(jié)點(diǎn)TimeOut),不再進(jìn)行FailOver)。比如,如果節(jié)點(diǎn)的timeout設(shè)置為5秒,該項(xiàng)設(shè)置為10,如果master跟slave之間失聯(lián)超過50秒,slave不會(huì)去failover它的master(意思是不會(huì)去把master設(shè)置為掛起狀態(tài),并取代它)。注意:任意非0數(shù)值都有可能導(dǎo)致當(dāng)master掛掉又沒有slave去failover它,這樣redis集群不可用。在這種情況下只有原來那個(gè)master重新回到集群中才能讓集群恢復(fù)工作。

cluster-migration-barrier :

一個(gè)master可以擁有的最小slave數(shù)量。該項(xiàng)的作用是,當(dāng)一個(gè)master沒有任何slave的時(shí)候,某些有富余slave的master節(jié)點(diǎn),可以自動(dòng)的分一個(gè)slave給它。具體參見手冊中的replica migration章節(jié)

cluster-require-full-coverage :

如果該項(xiàng)設(shè)置為yes(默認(rèn)就是yes) 當(dāng)一定比例的鍵空間沒有被覆蓋到(就是某一部分的哈希槽沒了,有可能是暫時(shí)掛了)集群就停止處理任何查詢操作。如果該項(xiàng)設(shè)置為no,那么就算請求中只有一部分的鍵可以被查到,一樣可以查詢(但是有可能會(huì)查不全)

19.慢查日志
slowlog-log-slower-than 1000000

此配置項(xiàng)指定查詢時(shí)間超過多少的操作,打印日志。1000000=1s。當(dāng)此配置為0的時(shí)候記錄每次查詢操作。為負(fù)數(shù)的時(shí)候關(guān)閉此功能。

slowlog-max-len 128

它決定 slow log 最多能保存多少條日志, slow log 本身是一個(gè) FIFO 隊(duì)列,當(dāng)隊(duì)列大小超過 slowlog-max-len 時(shí),最舊的一條日志將被刪除,而最新的一條日志加入到 slow log ,以此類推。

20.推送/訂閱功能
notify-keyspace-events "" 

空的時(shí)候關(guān)閉此功能,選項(xiàng)值為非空字符串時(shí),啟用該功能,非空字符串由特定的多個(gè)字符組成,每個(gè)字符表示不同的意義:

     K:keyspace事件,事件以__keyspace@__為前綴進(jìn)行發(fā)布;

     E:keyevent事件,事件以__keyevent@__為前綴進(jìn)行發(fā)布;

     g:一般性的,非特定類型的命令,比如del,expire,rename等;

     $:字符串特定命令;

     l:列表特定命令;

     s:集合特定命令;

     h:哈希特定命令;

     z:有序集合特定命令;

     x:過期事件,當(dāng)某個(gè)鍵過期并刪除時(shí)會(huì)產(chǎn)生該事件;

     e:驅(qū)逐事件,當(dāng)某個(gè)鍵因maxmemore策略而被刪除時(shí),產(chǎn)生該事件;

     A:g$lshzxe的別名,因此”AKE”意味著所有事件。

注意,該選項(xiàng)的值中至少需要包含K或者E,否則不會(huì)發(fā)布任何事件。比如,如果需要開啟針對列表的keyspace事件通知,則該選項(xiàng)需要配置為“Kl”;

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69236.html

相關(guān)文章

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<