日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 服務(wù)器 > Redis配置參數(shù)詳解

Redis配置參數(shù)詳解

來(lái)源:程序員人生   發(fā)布時(shí)間:2016-06-29 18:51:18 閱讀次數(shù):7384次

Redis是1個(gè)利用非常廣泛的高性能Key-Value型數(shù)據(jù)庫(kù),與memcached類(lèi)似,但功能更加強(qiáng)大!
本文將依照不同功能模塊的方式,順次對(duì)各個(gè)功能模塊的配置參數(shù)進(jìn)行詳細(xì)介紹。

GENERAL

./redis-server /path/to/redis.conf 依照指定的配置文件啟動(dòng)
include /path/to/other.conf 包括其它的redis配置文件
daemonize yes 啟用后臺(tái)守護(hù)進(jìn)程運(yùn)行模式
pidfile /var/run/redis.pid redis啟動(dòng)后的進(jìn)程ID保存文件
port 6379 指定使用的端口號(hào)
bind IP 監(jiān)聽(tīng)指定的網(wǎng)絡(luò)接口
unixsocket /tmp/redis.sock 指定監(jiān)聽(tīng)的socket,適用于unix環(huán)境
timeout N 客戶(hù)端空閑N秒后斷開(kāi)連接,參數(shù)0表示不啟用
loglevel notice 指定服務(wù)器信息顯示的等級(jí),4個(gè)參數(shù)分別為debug\verbose\notice\warning
logfile “” 指定日志文件,默許是使用系統(tǒng)的標(biāo)準(zhǔn)輸出
syslog-enabled no 是不是啟用將記錄記載到系統(tǒng)日志功能,默許為不啟用
syslog-ident redis 若啟用日志記錄,則需要設(shè)置日志記錄的身份
syslog-facility local0 若啟用日志記錄,則需要設(shè)置日志facility,可取值范圍為local0~local7,表示不同的日志級(jí)別
databases 16 設(shè)置數(shù)據(jù)庫(kù)的數(shù)量,默許啟動(dòng)時(shí)使用DB0,使用“select <dbid>”可以更換數(shù)據(jù)庫(kù)
tcp-backlog 511 此參數(shù)肯定TCP連接中已完成隊(duì)列(3次握手以后)的長(zhǎng)度,應(yīng)小于Linux系統(tǒng)的/proc/sys/net/core/somaxconn的值,此選項(xiàng)默許值為511,而Linux的somaxconn默許值為128,當(dāng)并發(fā)量比較大且客戶(hù)端反應(yīng)緩慢的時(shí)候,可以同時(shí)提高這兩個(gè)參數(shù)。
tcp-keepalive 0 指定ACKs的時(shí)間周期,單位為秒,值非0的情況表示將周期性的檢測(cè)客戶(hù)端是不是可用,默許值為60秒。


SNAPSHOTTING

數(shù)據(jù)保存頻率:
save 900 1 900秒后保存,最少有1個(gè)key被更改時(shí)才會(huì)觸發(fā)
save 300 10 300秒后保存,最少有10個(gè)key被更改時(shí)才會(huì)觸發(fā)
save 60 10000 60秒后保存,最少有10000個(gè)key被更改時(shí)才會(huì)觸發(fā)

stop-writes-on-bgsave-error yes 最近1次save操作失敗則停止寫(xiě)操作
rdbcompression yes 啟用緊縮
rdbchecksum yes 啟用CRC64校驗(yàn)碼,固然這個(gè)會(huì)影響1部分性能
dbfilename dump.rdb 指定存儲(chǔ)數(shù)據(jù)的文件名
dir ./ 指定工作目錄,rdb文件和aof文件都會(huì)寄存在這個(gè)目錄中,默許為當(dāng)前目錄


SECURITY

requirepass foobared 有slave端連接時(shí)是不是需要密碼驗(yàn)證


LIMITS

maxclients 10000 同1時(shí)間內(nèi)最大clients連接的數(shù)量,超過(guò)數(shù)量的連接會(huì)返回1個(gè)毛病信息
maxmemory <bytes> 設(shè)置最大內(nèi)存
如果內(nèi)存使用量到達(dá)了最大內(nèi)存設(shè)置,有6種處理方法:

volatile-lru -> remove the key with an expire set using an LRU algorithm allkeys-lru -> remove any key according to the LRU algorithm volatile-random -> remove a random key with an expire set allkeys-random -> remove a random key, any key volatile-ttl -> remove the key with the nearest expire time (minor TTL) noeviction -> don't expire at all, just return an error on write operations

默許的設(shè)置是 maxmemory-policy noeviction
maxmemory-samples 5 LRU算法檢查的keys個(gè)數(shù)


APPEND ONLY MODE

appendonly yes 啟用AOF模式
appendfilename “appendonly.aof” 設(shè)置AOF記錄的文件名

向磁盤(pán)進(jìn)行數(shù)據(jù)刷寫(xiě)的頻率,有3個(gè)選項(xiàng):
always 有新數(shù)據(jù)則馬上刷寫(xiě),速度慢但可靠性高
everysec 每秒鐘刷寫(xiě)1次,折衷方法,所謂的redis可以只丟失1秒鐘的數(shù)據(jù)就是源于此處
no 依照OS本身的刷寫(xiě)策略來(lái)進(jìn)行,速度最快
使用選項(xiàng)來(lái)進(jìn)行設(shè)置 appendfsync everysec

no-appendfsync-on-rewrite no 當(dāng)主進(jìn)程在進(jìn)行向磁盤(pán)的寫(xiě)操作時(shí),將會(huì)禁止其它的fsync調(diào)用
auto-aof-rewrite-percentage 100 aof文件觸發(fā)自動(dòng)rewrite的百分比,值為0則表示禁用自動(dòng)rewrite
auto-aof-rewrite-min-size 64mb aof文件觸發(fā)自動(dòng)rewrite的最小文件size
aof-load-truncated yes 是不是加載不完全的aof文件來(lái)進(jìn)行啟動(dòng)


LUA SCRIPTING

lua-time-limit 5000 設(shè)置lua腳本的最大運(yùn)行時(shí)間,單位為毫秒


EVENT NOTIFICATION

notify-keyspace-events “” 事件通知,默許不啟用,具體參數(shù)查看配置文件


REPLICATION

Redis的主從復(fù)制采取異步的方式進(jìn)行。
如果同步連接時(shí)slave端短暫的與master端斷開(kāi)了連接,那連接恢復(fù)后允許slave端與master端進(jìn)行1次局部的再同步。
主從復(fù)制是自動(dòng)進(jìn)行的,其實(shí)不需要用戶(hù)的參與,slave端會(huì)自動(dòng)嘗試重連master并進(jìn)行數(shù)據(jù)同步。
slaveof <master ip> <master port> 設(shè)置master真?zhèn)€IP與端口信息
masterauth <master-password> 如果master端啟用了密碼保護(hù)(requirepass),那slave端就需要配置此選項(xiàng)
slave-serve-stale-data yes 當(dāng)slave端在主從復(fù)制的進(jìn)程中與master端斷開(kāi)了連接,此時(shí)有2種處理方法:1種是繼續(xù)提供服務(wù)即便數(shù)據(jù)可能不是最新的,另外一種是對(duì)要求返回1個(gè)毛病信息,默許配置是繼續(xù)提供服務(wù)
slave-read-only yes 自redis 2.6版本開(kāi)始,slave端默許為readonly

主從同步支持兩種策略,即disk和socket方式(socket方式尚不完善,還處于實(shí)驗(yàn)階段)。
新的slave端和重連的salve端不允許去繼續(xù)同步進(jìn)程,這被稱(chēng)之為“完全同步”。
1個(gè)RDB文件從master端傳到slave端,分為兩種情況:
1、支持disk:master端將RDB file寫(xiě)到disk,稍后再傳送到slave端;
2、無(wú)磁盤(pán)diskless:master端直接將RDB file傳到slave socket,不需要與disk進(jìn)行交互。
無(wú)磁盤(pán)diskless方式合適磁盤(pán)讀寫(xiě)速度慢但網(wǎng)絡(luò)帶寬非常高的環(huán)境。
repl-diskless-sync no 默許不使用diskless同步方式
repl-diskless-sync-delay 5 無(wú)磁盤(pán)diskless方式在進(jìn)行數(shù)據(jù)傳遞之前會(huì)有1個(gè)時(shí)間的延遲,以便slave端能夠進(jìn)行到待傳送的目標(biāo)隊(duì)列中,這個(gè)時(shí)間默許是5秒
repl-ping-slave-period 10 slave端向server端發(fā)送pings的時(shí)間區(qū)間設(shè)置,默許為10秒
repl-timeout 60 設(shè)置超時(shí)時(shí)間
repl-disable-tcp-nodelay no 是不是啟用TCP_NODELAY,如果啟用則會(huì)使用少許的TCP包和帶寬去進(jìn)行數(shù)據(jù)傳輸?shù)絪lave端,固然速度會(huì)比較慢;如果不啟用則傳輸速度比較快,但是會(huì)占用比較多的帶寬。
repl-backlog-size 1mb 設(shè)置backlog的大小,backlog是1個(gè)緩沖區(qū),在slave端失連時(shí)寄存要同步到slave的數(shù)據(jù),因此當(dāng)1個(gè)slave要重連時(shí),常常是不需要完全同步的,履行局部同步就足夠了。backlog設(shè)置的越大,slave可以失連的時(shí)間就越長(zhǎng)。
repl-backlog-ttl 3600 如果1段時(shí)間后沒(méi)有slave連接到master,則backlog size的內(nèi)存將會(huì)被釋放。如果值為0則表示永久不釋放這部分內(nèi)存。
slave-priority 100 slave真?zhèn)€優(yōu)先級(jí)設(shè)置,值是1個(gè)整數(shù),數(shù)字越小表示優(yōu)先級(jí)越高。當(dāng)master故障時(shí)將會(huì)依照優(yōu)先級(jí)來(lái)選擇slave端進(jìn)行恢復(fù),如果值設(shè)置為0,則表示該slave永久不會(huì)被選擇。
min-slaves-to-write 3
min-slaves-max-lag 10 設(shè)置當(dāng)1個(gè)master真?zhèn)€可用slave少于N個(gè),延遲時(shí)間大于M秒時(shí),不接收寫(xiě)操作。


REDIS CLUSTER

1個(gè)正常的redis實(shí)例是不能做為1個(gè)redis集群的節(jié)點(diǎn)的,除非它是以1個(gè)集群節(jié)點(diǎn)的方式進(jìn)行啟動(dòng)。
cluster-enabled yes 配置redis做為1個(gè)集群節(jié)點(diǎn)來(lái)啟動(dòng)
cluster-config-file node⑹379.conf 每一個(gè)集群節(jié)點(diǎn)都有1個(gè)集群配置文件,這個(gè)文件不需要編輯,它由redis節(jié)點(diǎn)來(lái)創(chuàng)建和更新。每一個(gè)redis節(jié)點(diǎn)的集群配置文件不可以相同。
cluster-node-timeout 15000 設(shè)置集群節(jié)點(diǎn)超時(shí)時(shí)間,如果超過(guò)了指定的超時(shí)時(shí)間后仍不可達(dá),則節(jié)點(diǎn)被認(rèn)為是失敗狀態(tài),單位為毫秒。

1個(gè)屬于失效的master真?zhèn)€slave,如果它的數(shù)據(jù)較舊,將不會(huì)啟動(dòng)failover。
現(xiàn)在來(lái)說(shuō)并沒(méi)有1個(gè)簡(jiǎn)單的方法去解決如何判定1個(gè)slave真?zhèn)€數(shù)據(jù)的時(shí)效性問(wèn)題,所以可以履行以下兩個(gè)選擇:
1、如果有多個(gè)slave可用于failover,它們會(huì)交換信息以便選出1個(gè)最優(yōu)的進(jìn)行主從復(fù)制的offset,slave端會(huì)嘗試根據(jù)offset去獲得每一個(gè)slave的rank,這樣在啟動(dòng)failover時(shí)對(duì)每一個(gè)slave的利用就與slave真?zhèn)€rank成正比。
2、每一個(gè)slave端和它的master端進(jìn)行最后交互的時(shí)間,這多是最近的ping或指令接收時(shí)間,或自與master端失連的過(guò)時(shí)時(shí)間。如果最近的交互時(shí)間太久,slave就不會(huì)嘗試去進(jìn)行failover。
第2點(diǎn)可以由用戶(hù)來(lái)進(jìn)行調(diào)劑,明確1個(gè)slave不會(huì)進(jìn)行failover。自最近1次與master端進(jìn)行交互,過(guò)時(shí)時(shí)間有1個(gè)計(jì)算公式:
(node-timeout * slave-validity-factor)+repl-ping-slave-period
1個(gè)比較大的slave-validity-factor參數(shù)能夠允許slave端使用比較舊的數(shù)據(jù)去failover它的master端,而1個(gè)比較小的值可能會(huì)禁止集群去選擇slave端。
為取得最大的可用性,可以設(shè)置slave-validity-factor的值為0,這表示slave端將會(huì)1直去嘗試failover它的master端而不管它與master真?zhèn)€最后交互時(shí)間。
cluster-slave-validity-factor 10 默許值為10

集群中的slave可以遷移到那些沒(méi)有可用slave的master端,這提升了集群處理故障的能力。畢竟1個(gè)沒(méi)有slave的master端如果產(chǎn)生了故障是沒(méi)有辦法去進(jìn)行failover的。
要將1個(gè)slave遷移到別的master,必須這個(gè)slave的原master端有最少給定數(shù)目的可用slave才可以進(jìn)行遷移,這個(gè)給定的數(shù)目由migration barrier參數(shù)來(lái)進(jìn)行設(shè)置,默許值為1,表示這個(gè)要進(jìn)行遷移的slave的原master端應(yīng)當(dāng)最少還有1個(gè)可用的slave才允許其進(jìn)行遷移,要禁用這個(gè)功能只需要將此參數(shù)設(shè)置為1個(gè)非常大的值。
cluster-migration-barrier 1

默許情況下當(dāng)redis集群節(jié)點(diǎn)發(fā)現(xiàn)有最少1個(gè)hashslot未被covered時(shí)將會(huì)停止接收查詢(xún)。
這類(lèi)情況下如果有1部分的集群down掉了,那全部集群將變得不可用。
集群將會(huì)在所有的slot重新covered以后自動(dòng)恢復(fù)可用。
若想要設(shè)置集群在部分key space沒(méi)有cover完成時(shí)繼續(xù)去接收查詢(xún),就將參數(shù)設(shè)置為no。
cluster-require-full-coverage yes


SLOW LOG

redis的slow log是1個(gè)系統(tǒng)OS進(jìn)行的記錄查詢(xún),它是超過(guò)了指定的履行時(shí)間的。履行時(shí)間不包括類(lèi)似與client進(jìn)行交互或發(fā)送回復(fù)等I/O操作,它只是實(shí)際履行指令的時(shí)間。
有2個(gè)參數(shù)可以配置,1個(gè)用來(lái)告知redis履行時(shí)間,這個(gè)時(shí)間是微秒級(jí)的(1秒=1000000微秒),這是為了不遺漏命令。另外一個(gè)參數(shù)是設(shè)置slowlog的長(zhǎng)度,當(dāng)1個(gè)新的命令被記錄時(shí),最舊的命令將會(huì)從命令記錄隊(duì)列中移除。
slowlog-log-slower-than 10000
slowlog-max-len 128
可使用“slowlog reset”命令來(lái)釋放slowlog占用的內(nèi)存。


LATENCY MONITOR

latency-monitor-threshold 0 延遲監(jiān)控,用于記錄等于或超過(guò)了指定時(shí)間的操作,默許是關(guān)閉狀態(tài),即值為0。


ADVANCED CONFIG

當(dāng)條目數(shù)量較少且最大不會(huì)超過(guò)給定閥值時(shí),哈希編碼將使用1個(gè)很高效的內(nèi)存數(shù)據(jù)結(jié)構(gòu),閥值由以下參數(shù)來(lái)進(jìn)行配置。
hash-max-ziplist-entries 512
hash-max-ziplist-value 64

與哈希類(lèi)似,少許的lists也會(huì)通過(guò)1個(gè)指定的方式去編碼從而節(jié)省更多的空間,它的閥值通過(guò)以下參數(shù)來(lái)進(jìn)行配置。
list-max-ziplist-entries 512
list-max-ziplist-value 64

集合sets在1種特殊的情況時(shí)有指定的編碼方式,這類(lèi)情況是集合由1組10進(jìn)制的64位有符號(hào)整數(shù)范圍內(nèi)的數(shù)字組成的情況。以下選項(xiàng)可以設(shè)置集合使用這類(lèi)特殊編碼方式的size限制。
set-max-intset-entries 512

與哈希和列表類(lèi)似,有序集合也會(huì)使用1種特殊的編碼方式來(lái)節(jié)省空間,這類(lèi)特殊的編碼方式只用于這個(gè)有序集合的長(zhǎng)度和元素均低于以下參數(shù)設(shè)置的值時(shí)。
zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000 設(shè)置HyeperLogLog的字節(jié)數(shù)限制,這個(gè)值通常在0~15000之間,默許為3000,基本不超過(guò)16000
activerehashing yes redis將會(huì)在每秒中抽出10毫秒來(lái)對(duì)主字典進(jìn)行重新散列化處理,這有助于盡量的釋放內(nèi)存

由于某些緣由,client不能足夠快的從server讀取數(shù)據(jù),那client的輸出緩存限制可能會(huì)使client失連,這個(gè)限制可用于3種不同的client種類(lèi),分別是:normal、slave和pubsub。
進(jìn)行設(shè)置的格式以下:

client-output-buffer-limit <class><hard limit><soft limit><soft seconds>

如果到達(dá)hard limit那client將會(huì)立即失連。
如果到達(dá)soft limit那client將會(huì)在soft seconds秒以后失連。
參數(shù)soft limit < hard limit。
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

redis使用1個(gè)內(nèi)部程序來(lái)處理后臺(tái)任務(wù),例如關(guān)閉超時(shí)的client連接,清除過(guò)期的key等等。它其實(shí)不會(huì)同時(shí)處理所有的任務(wù),redis通過(guò)指定的hz參數(shù)去檢查和履行任務(wù)。
hz默許設(shè)為10,提高它的值將會(huì)占用更多的cpu,固然相應(yīng)的redis將會(huì)更快的處理同時(shí)到期的許多key,和更精確的去處理超時(shí)。
hz的取值范圍是1~500,通常不建議超過(guò)100,只有在要求延時(shí)非常低的情況下可以將值提升到100。
hz 10

當(dāng)1個(gè)子進(jìn)程要改寫(xiě)AOF文件,如果以下選項(xiàng)啟用,那文件將會(huì)在每產(chǎn)生32MB數(shù)據(jù)時(shí)進(jìn)行同步,這樣提交增量文件到磁盤(pán)時(shí)可以免出現(xiàn)比較大的延遲。
aof-rewrite-incremental-fsync yes

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線(xiàn)----------------------------
分享到:
------分隔線(xiàn)----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美九九| 欧美精品一区视频 | 国产成人精品一区 | 国产一区二区三区高清 | 在线中文字幕第一页 | 午夜激情一区 | 午夜欧美一区二区三区在线播放 | 欧美日韩大片 | 黄网入口 | 中文字幕在线免费视频 | 欧美天堂视频 | 91久久久久久久久久久久久 | 亚洲国产一区二区在线 | 久久99久久99精品免观看粉嫩 | 在线视频国产一区 | 国产精品久久久一区二区三区 | 日韩中文字幕av | 国产精品97| 精品视频一区二区三区 | 国产成人精品久久久 | 人善交videos欧美3d动漫 | 人人草人人干 | 中文字幕99 | 精品九九九九九 | 久久思思视频 | 久久久91精品国产一区二区三区 | 欧美黄色一区 | 日韩在线观看视频免费 | 国产在线国偷精品免费看 | 成人一区二区三区 | 亚洲欧美激情精品一区二区 | 国产精品不卡视频 | 日韩欧美精品一区二区三区 | 一区二区三区精品国产 | 国产精品免费一区二区 | 国产精品无码专区在线观看 | 国产精品黄网站 | 一区二区日韩精品 | 欧美在线视频二区 | 三级福利视频 | 国产精品精品久久久 |