亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Redis筆記8:解析配置文件redis.conf

2024-07-21 02:51:22
字體:
來源:轉載
供稿:網友

如果是一個專業的 DBA, 那么實例啟動時會加很多的參數以便使系統運行的非常穩定, 這樣就可能會在啟動時在 Redis 后面加一個參數,以指定配置文件的路徑,就象 MySQL 一樣的讀取啟動配置文件的方式來啟動數據庫。源碼編譯完成后,在 Redis目錄下有一個redis.conf 文件,這個文件即是 Redis 的配置文件。我們可以在啟動時使用以下命令來用配置文件啟動。

[root@localhost ~]# ./redis-server /opt/redis/redis.conf

Redis的一些度量單位,redis配置中對單位的大小寫不敏感,1GB、1Gb和1gB都是相同的。由此也說明,redis只支持bytes,不支持bit單位。

# 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1gb => 1024*1024*1024 bytes

Redis可以引入外部配置文件很像C/C++中的include指令,多個配置文件,Redis總是使用最后加載的配置項,如果想引入的配置不會重寫,可以在主配置文件最后引入。

include /path/to/other.conf

==================== Redis配置 - 通用 ====================

# Redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes啟用守護進程方式。注意配置成守護進程后Redis會將進程號寫入文件/var/run/redis.piddaemonize yes## 當Redis以守護進程方式運行時,Redis默認會把pid寫入/var/run/redis.pid文件,可以通過pidfile指定pidfile /var/run/redis.pid##指定Redis監聽端口,默認端口為6379,為什么使用6379,因為6379在手機按鍵上MERZ對應的號碼,而MERZ取自意大利歌女Alessia Merz的名字port 6379## 在高并發環境下你需要一個高backlog值來避免慢客戶端連接問題。# 注意linux內核默默地將這個值減小 到/PRoc/sys/net/core/somaxconn的值,# 所以需要確認增大somaxconn和tcp_max_syn_backlog兩個值來達到想要的效果。tcp-backlog 511## 默認Redis監聽服務器上所有可用網絡接口的連接??梢杂?bind"配置指令跟一個或多個ip地址來實現監聽一個或多個網絡接口bind 192.168.1.100 10.0.0.1bind 127.0.0.1## 如果redis不監聽端口,還怎么與外界通信呢”,其實redis還支持通過unix socket方式來接收請求。# 可以通過unixsocket配置項來指定unix socket文件的路徑,并通過unixsocketperm來指定文件的權限。# 指定用來監聽Unix套套接字的路徑。沒有默認值, 所以在沒有指定的情況下Redis不會監聽Unix套接字unixsocket /tmp/redis.sockunixsocketperm 755## 當一個redis-client一直沒有請求發向server端,那么server端有權主動關閉這個連接,可以通過timeout來設置“空閑超時時限”,0表示永不關閉。# 設置客戶端連接時的超時時間,單位為秒。當客戶端在這段時間內沒有發出任何指令,那么關閉該連接# 默認值:0代表禁用,永不關閉 timeout 0## TCP keepalive.## 如果非零,則設置SO_KEEPALIVE選項來向空閑連接的客戶端發送ACK,由于以下兩個原因這是很有用的:## 1)能夠檢測無響應的對端# 2)讓該連接中間的網絡設備知道這個連接還存活## 在Linux上,這個指定的值(單位:秒)就是發送ACK的時間間隔。# 注意:要關閉這個連接需要兩倍的這個時間值。# 在其他內核上這個時間間隔由內核配置決定## TCP連接?;畈呗裕梢酝ㄟ^tcp-keepalive配置項來進行設置,單位為秒,# 假如設置為60秒,則server端會每60秒向連接空閑的客戶端發起一次ACK請求,以檢查客戶端是否已經掛掉,# 對于無響應的客戶端則會關閉其連接。所以關閉一個連接最長需要120秒的時間。如果設置為0,則不會進行?;顧z測。## 這個選項的一個合理值是60秒tcp-keepalive 0## 指定日志記錄級別 # Redis總共支持四個級別:debug、verbose、notice、warning,默認為verbose # debug 記錄很多信息,用于開發和測試# varbose 很多精簡的有用信息,不像debug會記錄那么多# notice 普通的verbose,常用于生產環境# warning 只有非常重要或者嚴重的信息會記錄到日志 loglevel notice## 指明日志文件名。也可以使用"stdout"來強制讓Redis把日志信息寫到標準輸出上。# 默認為標準輸出,如果配置Redis為守護進程方式運行,而這里又配置為日志記錄方式為標準輸出,則日志將會發給/dev/nulllogfile ""## 要使用系統日志記錄器,只要設置 "syslog-enabled" 為 "yes" 就可以了。# 然后根據需要設置其他一些syslog參數就可以了。syslog-enabled no## 指定linux系統日志syslog的標示符,若是"syslog-enabled=no",則這個選項無效syslog-ident redis## 指定linux系統日志syslog 設備(facility), 必須是USER或者LOCAL0到LOCAL7之間syslog-facility local0 ## 可用數據庫數,默認值為16,默認數據庫存儲在DB 0號ID庫中,無特殊需求,建議僅設置一個數據庫 databases 1# 查詢數據庫使用 SELECT <dbid># dbid介于 0 到 'databases'-1 之間databases 16

==================== Redis配置 - 快照 ====================

## 把數據庫存到磁盤上:## save <seconds> <changes># # 會在指定秒數和數據變化次數之后把數據庫寫到磁盤上。## 下面的例子將會進行把數據寫入磁盤的操作:# 900秒(15分鐘)之后,且至少有1個key(次)變更# 300秒(5分鐘)之后,且至少有10個key(次)變更# 60秒之后,且至少有10000個key(次)變更## 注意:如果不需要寫磁盤,則把所有 "save" 設置注釋掉,即實現全內存服務器。# 如果你想禁用RDB持久化的策略,只要不設置任何save指令就可以,或者給save傳入一個空字符串參數也可以達到相同效果save 900 1save 300 10save 60 10000 ## 如果用戶開啟了RDB快照功能,那么在redis持久化數據到磁盤時如果出現失敗,默認情況下,redis會停止接受所有的寫請求。# 這樣做的好處在于可以讓用戶很明確的知道內存中的數據和磁盤上的數據已經存在不一致了。# 如果redis不顧這種不一致,一意孤行的繼續接收寫請求,就可能會引起一些災難性的后果。# 如果下一次RDB持久化成功,redis會自動恢復接受寫請求。# 當然,如果你不在乎這種數據不一致或者有其他的手段發現和控制這種不一致的話,你完全可以關閉這個功能,以便在快照寫入失敗時,也能確保redis繼續接受新的寫請求。stop-writes-on-bgsave-error yes#### 當導出到 .rdb 數據庫時是否用LZF壓縮字符串對象。# 默認設置為 "yes",# 如果想節省CPU的話,可以把這個設置為 "no",但是如果有可以壓縮的key卻沒有壓縮的話,那數據文件就會變得更大rdbcompression yes## 因為版本5的RDB有一個CRC64算法的校驗和放在了文件的最后。這將使文件格式更加可靠但在# 生產和加載RDB文件時,這有一個性能消耗(大約10%),所以你可以關掉它來獲取最好的性能。# 生成的關閉校驗的RDB文件有一個0的校驗和,它將告訴加載代碼跳過檢查rdbcompression yes## 數據庫的文件名及存放路徑dbfilename dump.rdb## 工作目錄# 本地數據庫會寫到這個目錄下,文件名就是上面的 "dbfilename" 的值。# 累加文件也放這里。# 注意你這里指定的必須是目錄,不是文件名。dir ./

==================== Redis配置 - 同步 ====================

# 主從同步。通過 slaveof 配置來實現Redis實例的備份。# 注意,這里是本地從遠端復制數據。也就是說,本地可以有不同的數據庫文件、綁定不同的IP、監聽不同的端口。# 當本機為從服務時,設置主服務的IP及端口,在Redis啟動時,它會自動從主服務進行數據同步slaveof <masterip> <masterport> ## 如果主服務master設置了密碼(通過下面的 "requirepass" 選項來配置),slave服務連接master的密碼,那么slave在開始同步之前必須進行身份驗證,否則它的同步請求會被拒絕。# 當本機為從服務時,設置主服務的連接密碼masterauth <master-passWord> ## 當一個slave失去和master的連接,或者同步正在進行中,slave的行為有兩種可能:# 1) 如果 slave-serve-stale-data 設置為 "yes" (默認值),slave會繼續響應客戶端請求,可能是正常數據,也可能是還沒獲得值的空數據。# 2) 如果 slave-serve-stale-data 設置為 "no",slave會回復"正在從master同步(SYNC with master in progress)"來處理各種請求,除了 INFO 和 SLAVEOF 命令。slave-serve-stale-data yes## 你可以配置salve實例是否接受寫操作。可寫的slave實例可能對存儲臨時數據比較有用(因為寫入salve# 的數據在同master同步之后將很容被刪除),# 但是如果客戶端由于配置錯誤在寫入時也可能產生一些問題。# 從Redis2.6默認所有的slave為只讀## 注意:只讀的slave不是為了暴露給互聯網上不可信的客戶端而設計的。它只是一個防止實例誤用的保護層。# 一個只讀的slave支持所有的管理命令比如config,debug等。為了限制你可以用'rename-command'來# 隱藏所有的管理和危險命令來增強只讀slave的安全性slave-read-only yes## 復制集同步策略:磁盤或者socket# 新slave連接或者老slave重新連接時候不能只接收不同,得做一個全同步。需要一個新的RDB文件dump出來,然后從master傳到slave??梢杂袃煞N情況:# 1)基于硬盤(disk-backed):master創建一個新進程dump RDB,完事兒之后由父進程(即主進程)增量傳給slaves。# 2)基于socket(diskless):master創建一個新進程直接dump RDB到slave的socket,不經過主進程,不經過硬盤。# 基于硬盤的話,RDB文件創建后,一旦創建完畢,可以同時服務更多的slave?;趕ocket的話, 新slave來了后,得排隊(如果超出了repl-diskless-sync-delay還沒來),完事兒一個再進行下一個。# 當用diskless的時候,master等待一個repl-diskless-sync-delay的秒數,如果沒slave來的話,就直接傳,后來的得排隊等了。否則就可以一起傳。# disk較慢,并且網絡較快的時候,可以用diskless。(默認用disk-based)repl-diskless-sync no## 設置成0的話,傳輸開始ASAPrepl-diskless-sync-delay 5## slave根據指定的時間間隔向服務器發送ping請求。# 時間間隔可以通過 repl_ping_slave_period 來設置。# 默認10秒repl-ping-slave-period 10## 以下選項設置同步的超時時間## 1)slave在與master SYNC期間有大量數據傳輸,造成超時# 2)在slave角度,master超時,包括數據、ping等# 3)在master角度,slave超時,當master發送REPLCONF ACK pings# # 確保這個值大于指定的repl-ping-slave-period,否則在主從間流量不高時每次都會檢測到超時repl-timeout 60## 是否在slave套接字發送SYNC之后禁用 TCP_NODELAY ?## 如果你選擇“yes”Redis將使用更少的TCP包和帶寬來向slaves發送數據。# 但是這將使數據傳輸到slave上有延遲,Linux內核的默認配置會達到40毫秒,# 如果你選擇了 "no" 數據傳輸到salve的延遲將會減少但要使用更多的帶寬默認我們會為低延遲做優化,# 但高流量情況或主從之間的跳數過多時,把這個選項設置為“yes”是個不錯的選擇。repl-disable-tcp-nodelay no## 設置數據備份的backlog大小。# backlog是一個slave在一段時間內斷開連接時記錄salve數據的緩沖,# 所以一個slave在重新連接時,不必要全量的同步,而是一個增量同步就足夠了,將在斷開連接的這段時間內slave丟失的部分數據傳送給它。# 同步的backlog越大,slave能夠進行增量同步并且允許斷開連接的時間就越長。# backlog只分配一次并且至少需要一個slave連接repl-backlog-size 1mb## 當master在一段時間內不再與任何slave連接,backlog將會釋放。以下選項配置了從最后一個slave斷開開始計時多少秒后,backlog緩沖將會釋放。# 0表示永不釋放backlogrepl-backlog-ttl 3600## slave的優先級是一個整數展示在Redis的Info輸出中。如果master不再正常工作了,# Sentinel將用它來選擇一個slave提升=升為master。優先級數字小的salve會優先考慮提升為master,# 所以例如有三個slave優先級分別為10,100,25,# Sentinel將挑選優先級最小數字為10的slave。# 0作為一個特殊的優先級,標識這個slave不能作為master,所以一個優先級為0的slave永遠不會被Sentinel挑選提升為master# 默認優先級為100slave-priority 100## 如果master少于N個延時小于等于M秒的已連接slave,就可以停止接收寫操作。# N個slave需要是“oneline”狀態# 延時是以秒為單位,并且必須小于等于指定值,是從最后一個從slave接收到的ping(通常每秒發送)開始計數。# 例如至少需要3個延時小于等于10秒的slave用下面的指令:# 兩者之一設置為0將禁用這個功能。# 默認 min-slaves-to-write 值是0(該功能禁用)并且 min-slaves-max-lag 值是10。min-slaves-to-write 3min-slaves-max-lag 10

==================== redis配置 - 安全 ====================

# 要求客戶端在處理任何命令時都要驗證身份和密碼。# 這個功能在有你不信任的其它客戶端能夠訪問redis服務器的環境里非常有用。# 為了向后兼容的話這段應該注釋掉。而且大多數人不需要身份驗證(例如:它們運行在自己的服務器上)# 警告:因為Redis太快了,所以外面的人可以嘗試每秒150k的密碼來試圖破解密碼。這意味著你需要# 一個高強度的密碼,否則破解太容易了。requirepass foobared## 命令重命名# 在共享環境下,可以為危險命令改變名字。比如,你可以為 CONFIG 改個其他不太容易猜到的名字,# 這樣內部的工具仍然可以使用,而普通的客戶端將不行。# 例如:# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52# 請注意:改變命令名字被記錄到AOF文件或被傳送到從服務器可能產生問題。# 也可以通過改名為空字符串來完全禁用一個命令rename-command CONFIG ""

==================== Redis配置 - 限制 ====================

# 設置最多同時連接的客戶端數量。默認這個限制是10000個客戶端,然而如果Redis服務器不能配置# 處理文件的限制數來滿足指定的值,那么最大的客戶端連接數就被設置成當前文件限制數減32(因# 為Redis服務器保留了一些文件描述符作為內部使用)# 一旦達到這個限制,Redis會關閉所有新連接并發送錯誤'max number of clients reached'maxclients 10000## 不要用比設置的上限更多的內存。一旦內存使用達到上限,Redis會根據選定的回收策略(參見:maxmemmory-policy)刪除key# 如果因為刪除策略Redis無法刪除key,或者策略設置為 "noeviction",Redis會回復需要更# 多內存的錯誤信息給命令。例如,SET,LPUSH等等,但是會繼續響應像Get這樣的只讀命令。# 在使用Redis作為LRU緩存,或者為實例設置了硬性內存限制的時候(使用 "noeviction" 策略)的時候,這個選項通常事很有用的。# 警告:當有多個slave連上達到內存上限的實例時,master為同步slave的輸出緩沖區所需# 內存不計算在使用內存中。這樣當驅逐key時,就不會因網絡問題 / 重新同步事件觸發驅逐key# 的循環,反過來slaves的輸出緩沖區充滿了key被驅逐的DEL命令,這將觸發刪除更多的key,# 直到這個數據庫完全被清空為止# # 總之...如果你需要附加多個slave,建議你設置一個稍小maxmemory限制,這樣系統就會有空閑# 的內存作為slave的輸出緩存區(但是如果最大內存策略設置為"noeviction"的話就沒必要了)maxmemory <bytes>## 最大內存策略:如果達到內存限制了,Redis如何選擇刪除key。你可以在下面五個行為里選:# # volatile-lru -> 根據LRU算法生成的過期時間來刪除。# allkeys-lru -> 根據LRU算法刪除任何key。# volatile-random -> 根據過期設置來隨機刪除key。 # allkeys->random -> 無差別隨機刪。 # volatile-ttl -> 根據最近過期時間來刪除(輔以TTL) # noeviction -> 誰也不刪,直接在寫操作時返回錯誤。# # 注意:對所有策略來說,如果Redis找不到合適的可以刪除的key都會在寫操作時返回一個錯誤。# 目前為止涉及的命令:set setnx setex append# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby# getset mset msetnx exec sort## 默認值如下:maxmemory-policy volatile-lru## LRU和最小TTL算法的實現都不是很精確,但是很接近(為了省內存),所以你可以用樣本量做檢測。# 例如:默認Redis會檢查3個key然后取最舊的那個,你可以通過下面的配置指令來設置樣本的個數。maxmemory-samples 3

==================== Redis配置 - 追加模式 ====================

# 默認情況下,Redis是異步的把數據導出到磁盤上。這種模式在很多應用里已經足夠好,但Redis進程# 出問題或斷電時可能造成一段時間的寫操作丟失(這取決于配置的save指令)。## AOF是一種提供了更可靠的替代持久化模式,例如使用默認的數據寫入文件策略(參見后面的配置)# 在遇到像服務器斷電或單寫情況下Redis自身進程出問題但操作系統仍正常運行等突發事件時,Redis能只丟失1秒的寫操作。## AOF和RDB持久化能同時啟動并且不會有問題。# 如果AOF開啟,那么在啟動時Redis將加載AOF文件,它更能保證數據的可靠性。# 請查看 http://redis.io/topics/persistence 來獲取更多信息.appendonly no## 追加加文件名字(默認:"appendonly.aof")appendfilename "appendonly.aof"## fsync() 系統調用告訴操作系統把數據寫到磁盤上,而不是等更多的數據進入輸出緩沖區。# 有些操作系統會真的把數據馬上刷到磁盤上;有些則會盡快去嘗試這么做。## Redis支持三種不同的模式:## no:不要立刻刷,只有在操作系統需要刷的時候再刷。比較快。# always:每次寫操作都立刻寫入到aof文件。慢,但是最安全。# everysec:每秒寫一次。折中方案。 ## 默認的 "everysec" 通常來說能在速度和數據安全性之間取得比較好的平衡。根據你的理解來# 決定,如果你能放寬該配置為"no" 來獲取更好的性能(但如果你能忍受一些數據丟失,可以考慮使用# 默認的快照持久化模式),或者相反,用“always”會比較慢但比everysec要更安全。## 請查看下面的文章來獲取更多的細節# http://antirez.com/post/redis-persistence-demystified.html # # 如果不能確定,就用 "everysec"appendfsync everysec## 如果AOF的同步策略設置成 "always" 或者 "everysec",并且后臺的存儲進程(后臺存儲或寫入AOF# 日志)會產生很多磁盤I/O開銷。某些Linux的配置下會使Redis因為 fsync()系統調用而阻塞很久。# 注意,目前對這個情況還沒有完美修正,甚至不同線程的 fsync() 會阻塞我們同步的write(2)調用。## 為了緩解這個問題,可以用下面這個選項。它可以在 BGSAVE 或 BGREWRITEAOF 處理時阻止fsync()。# # 這就意味著如果有子進程在進行保存操作,那么Redis就處于"不可同步"的狀態。# 這實際上是說,在最差的情況下可能會丟掉30秒鐘的日志數據。(默認Linux設定)# # 如果把這個設置成"yes"帶來了延遲問題,就保持"no",這是保存持久數據的最安全的方式。no-appendfsync-on-rewrite no## 自動重寫AOF文件# 如果AOF日志文件增大到指定百分比,Redis能夠通過 BGREWRITEAOF 自動重寫AOF日志文件。# # 工作原理:Redis記住上次重寫時AOF文件的大?。ㄈ绻貑⒑筮€沒有寫操作,就直接用啟動時的AOF大?。? # 這個基準大小和當前大小做比較。如果當前大小超過指定比例,就會觸發重寫操作。你還需要指定被重寫# 日志的最小尺寸,這樣避免了達到指定百分比但尺寸仍然很小的情況還要重寫。## 指定百分比為0會禁用AOF自動重寫特性。auto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mb## AOF文件可能在尾部是不完整的(上次system關閉有問題,尤其是mount ext4文件系統時沒有加上data=ordered選項。只會發生在os死時,redis自己死不會不完整)。# 那redis重啟時load進內存的時候就有問題了。發生的時候,可以選擇redis啟動報錯,或者load盡量多正常的數據。# 如果aof-load-truncated是yes,會自動發布一個log給客戶端然后load(默認)。如果是no,用戶必須手動redis-check-aof修復AOF文件才可以。aof-load-truncated yes

==================== Redis配置 - LUA腳本 ====================

# 如果達到最大時間限制(毫秒),redis會記個log,然后返回error。# 當一個腳本超過了最大時限。只有SCRIPT KILL和SHUTDOWN NOSAVE可以用。第一個可以殺沒有調write命令的東西。要是已經調用了write,只能用第二個命令殺。# 設置成0或者負值,時限就無限。lua-time-limit 5000

==================== Redis配置 - 集群 ====================

WARNING Redis Cluster在3.0.X版本還不是一個穩定版本

# 開啟集群cluster-enabled yes## 每一個集群節點都有一個集群配置文件cluster-config-file nodes-6379.conf## 集群節點的超時時間,單位為毫秒cluster-node-timeout 15000## 控制從節點FailOver相關的設置# 設為0,從節點會一直嘗試啟動FailOver.# 設為正數,失聯大于一定時間(factor*節點TimeOut),不再進行FailOvercluster-slave-validity-factor 10## 最小從節點連接數cluster-migration-barrier 1## 默認為Yes,丟失一定比例Key后(可能Node無法連接或者掛掉),集群停止接受寫操作# 設置為No,集群丟失Key的情況下仍提供查詢服務cluster-require-full-coverage yes

==================== Redis配置 - 慢日志 ====================

# Redis慢查詢日志可以記錄超過指定時間的查詢。運行時間不包括各種I/O時間,例如:連接客戶端,# 發送響應數據等,而只計算命令執行的實際時間(這只是線程阻塞而無法同時為其他請求服務的命令執行階段)# # 你可以為慢查詢日志配置兩個參數:一個指明Redis的超時時間(單位為微秒)來記錄超過這個時間的命令# 另一個是慢查詢日志長度。當一個新的命令被寫進日志的時候,最老的那個記錄從隊列中移除。## 下面的時間單位是微秒,所以1000000就是1秒。注意,負數時間會禁用慢查詢日志,而0則會強制記錄# 所有命令。slowlog-log-slower-than 10000## 這個長度沒有限制。只是要主要會消耗內存。你可以通過 SLOWLOG RESET 來回收內存。slowlog-max-len 128

==================== Redis配置 - 延遲監控 ====================

# 默認情況下禁用延遲監控,因為它基本上是不需要的,單位為毫秒latency-monitor-threshold 0

==================== Redis配置 - 事件通知 ====================

# Redis 能通知 Pub/Sub 客戶端關于鍵空間發生的事件# 這個功能文檔位于http://redis.io/topics/keyspace-events## 例如:如果鍵空間事件通知被開啟,并且客戶端對 0 號數據庫的鍵 foo 執行 DEL 命令時,將通過# Pub/Sub發布兩條消息:# PUBLISH __keyspace@0__:foo del# PUBLISH __keyevent@0__:del foo## 可以在下表中選擇Redis要通知的事件類型。事件類型由單個字符來標識:## K 鍵空間通知,以__keyspace@<db>__為前綴# E 鍵事件通知,以__keysevent@<db>__為前綴# g DEL , EXPIRE , RENAME 等類型無關的通用命令的通知, ...# $ String命令# l List命令# s Set命令# h Hash命令# z 有序集合命令# x 過期事件(每次key過期時生成)# e 驅逐事件(當key在內存滿了被清除時生成)# A g$lshzxe的別名,因此”AKE”意味著所有的事件## notify-keyspace-events 帶一個由0到多個字符組成的字符串參數??兆址馑际峭ㄖ唤谩?# 例子:啟用List和通用事件通知:# notify-keyspace-events Elg## 例子2:為了獲取過期key的通知訂閱名字為 __keyevent@__:expired 的頻道,用以下配置# notify-keyspace-events Ex## 默認所用的通知被禁用,因為用戶通常不需要該特性,并且該特性會有性能損耗。# 注意如果你不指定至少K或E之一,不會發送任何事件。notify-keyspace-events ""

==================== Redis配置 - 高級配置 ====================

# 當有大量數據時,適合用哈希編碼(這會需要更多的內存),元素數量上限不能超過給定限制。# Redis Hash是value內部為一個HashMap,如果該Map的成員數比較少,則會采用類似一維線性的緊湊格式來存儲該Map, # 即省去了大量指針的內存開銷,如下2個條件任意一個條件超過設置值都會轉換成真正的HashMap,# 當value這個Map內部不超過多少個成員時會采用線性緊湊格式存儲,默認是64,即value內部有64個以下的成員就是使用線性緊湊存儲,超過該值自動轉成真正的HashMap。hash-max-zipmap-entries 512## 當 value這個Map內部的每個成員值長度不超過多少字節就會采用線性緊湊存儲來節省空間。hash-max-zipmap-value 64## 與hash-max-zipmap-entries哈希相類似,數據元素較少的情況下,可以用另一種方式來編碼從而節省大量空間。# list數據類型多少節點以下會采用去指針的緊湊存儲格式list-max-ziplist-entries 512## list數據類型節點值大小小于多少字節會采用緊湊存儲格式list-max-ziplist-value 64## 還有這樣一種特殊編碼的情況:數據全是64位無符號整型數字構成的字符串。# 下面這個配置項就是用來限制這種情況下使用這種編碼的最大上限的。set-max-intset-entries 512 ## 與第一、第二種情況相似,有序序列也可以用一種特別的編碼方式來處理,可節省大量空間。# 這種編碼只適合長度和元素都符合下面限制的有序序列:zset-max-ziplist-entries 128zset-max-ziplist-value 64 ## 關于HyperLogLog的介紹:http://www.redis.io/topics/data-types-intro#hyperloglogs # HyperLogLog稀疏表示限制設置,如果其值大于16000,則仍然采用稠密表示,因為這時稠密表示更能有效使用內存 # 建議值為3000 hll-sparse-max-bytes 3000 ## 哈希刷新,每100個CPU毫秒會拿出1個毫秒來刷新Redis的主哈希表(頂級鍵值映射表)。# redis所用的哈希表實現(見dict.c)采用延遲哈希刷新機制:你對一個哈希表操作越多,哈希刷新操作就越頻繁;# 反之,如果服務器非常不活躍那么也就是用點內存保存哈希表而已。# 默認是每秒鐘進行10次哈希表刷新,用來刷新字典,然后盡快釋放內存。# 建議:# 如果你對延遲比較在意的話就用 "activerehashing no",每個請求延遲2毫秒不太好嘛。# 如果你不太在意延遲而希望盡快釋放內存的話就設置 "activerehashing yes"。activerehashing yes ## 客戶端的輸出緩沖區的限制,可用于強制斷開那些因為某種原因從服務器讀取數據的速度不夠快的客戶端,# (一個常見的原因是一個發布/訂閱客戶端消費消息的速度無法趕上生產它們的速度)## 可以對三種不同的客戶端設置不同的限制:# normal -> 正常客戶端# slave -> slave和 MONITOR 客戶端# pubsub -> 至少訂閱了一個pubsub channel或pattern的客戶端## 下面是每個client-output-buffer-limit語法:# client-output-buffer-limit <class><hard limit> <soft limit> <soft seconds># 一旦達到硬限制客戶端會立即被斷開,或者達到軟限制并持續達到指定的秒數(連續的)。# 例如,如果硬限制為32兆字節和軟限制為16兆字節/10秒,客戶端將會立即斷開# 如果輸出緩沖區的大小達到32兆字節,或客戶端達到16兆字節并連續超過了限制10秒,就將斷開連接。## 默認normal客戶端不做限制,因為他們在不主動請求時不接收數據(以推的方式),只有異步客戶端# 可能會出現請求數據的速度比它可以讀取的速度快的場景。## pubsub和slave客戶端會有一個默認值,因為訂閱者和slaves以推的方式來接收數據## 把硬限制和軟限制都設置為0來禁用該功能client-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60## Redis調用內部函數來執行許多后臺任務,如關閉客戶端超時的連接,清除未被請求過的過期Key等等。## 不是所有的任務都以相同的頻率執行,但Redis依照指定的“hz”值來執行檢查任務。## 默認情況下,“hz”的被設定為10。提高該值將在Redis空閑時使用更多的CPU時,但同時當有多個key# 同時到期會使Redis的反應更靈敏,以及超時可以更精確地處理。## 范圍是1到500之間,但是值超過100通常不是一個好主意。# 大多數用戶應該使用10這個默認值,只有在非常低的延遲要求時有必要提高到100。hz 10## 當一個子進程重寫AOF文件時,如果啟用下面的選項,則文件每生成32M數據會被同步。為了增量式的# 寫入硬盤并且避免大的延遲高峰這個指令是非常有用的aof-rewrite-incremental-fsync yes

(完畢)

參考: http://blog.csdn.net/thinkercode/article/details/46580871 http://lizhenliang.blog.51cto.com/7876557/1656305


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久久久东京| 精品久久久久久久久中文字幕| 亚洲aⅴ日韩av电影在线观看| 久久国产视频网站| 中文字幕在线看视频国产欧美在线看完整| 国产精品成人免费电影| 久久国产精品久久久久久| 久久久久久久久久av| 亚洲视频一区二区| 久久成年人免费电影| 亚洲精品国产电影| 少妇高潮 亚洲精品| 亚洲欧美日本另类| 亚洲人成网站在线播| 亚洲国产精品久久久久秋霞不卡| 精品视频9999| 最近2019年日本中文免费字幕| 国产精品高潮呻吟久久av黑人| 日本在线观看天堂男亚洲| 亚洲人成在线观看网站高清| 色综合老司机第九色激情| 在线观看91久久久久久| 久久成人亚洲精品| 性色av一区二区三区| 欧美日韩成人在线播放| 在线视频日本亚洲性| 国产一区欧美二区三区| 国产成人久久久精品一区| 亚洲一区二区中文字幕| 在线观看亚洲视频| 国产精品爱啪在线线免费观看| 55夜色66夜色国产精品视频| 中文字幕欧美日韩在线| 亚洲aaa激情| 欧美成人合集magnet| 亚洲天堂av电影| 久久久久久久电影一区| 亚洲免费视频在线观看| 亚洲一品av免费观看| 亚洲国产欧美一区二区三区久久| 国产精品女人网站| 日韩av手机在线| 68精品国产免费久久久久久婷婷| 亚洲欧美日韩中文在线| 亚洲美女免费精品视频在线观看| 国语自产精品视频在免费| 久久99国产综合精品女同| 成人网在线免费观看| 欧美一区二粉嫩精品国产一线天| 国产精品成av人在线视午夜片| 国产精品第三页| 欧美又大粗又爽又黄大片视频| 欧美成人在线网站| 亚洲女同精品视频| 中文字幕在线国产精品| 精品久久久久久国产91| 91在线观看免费高清完整版在线观看| 亚洲sss综合天堂久久| 麻豆一区二区在线观看| 永久555www成人免费| 久久久爽爽爽美女图片| 韩曰欧美视频免费观看| 精品国产999| 亚洲欧美日韩一区二区在线| 色老头一区二区三区在线观看| 91精品国产免费久久久久久| 欧美视频一区二区三区…| 国产精彩精品视频| 亚洲色图美腿丝袜| 日韩黄色av网站| 精品偷拍各种wc美女嘘嘘| 在线亚洲男人天堂| 国产精品日韩精品| 欧美亚洲视频在线看网址| 日韩国产欧美精品一区二区三区| 九九久久久久99精品| 95av在线视频| 91av国产在线| 亚洲图中文字幕| 亚洲精品久久久久国产| 亚洲精品大尺度| 亚洲乱码一区二区| 日韩欧美高清视频| 欧美成人性色生活仑片| 成人福利网站在线观看11| 色狠狠久久aa北条麻妃| 欧美性xxxxx| 精品国产精品三级精品av网址| 日韩欧美福利视频| 精品视频在线播放| 国产视频精品自拍| 国产精品视频久久久久| 国产精品久久久久久一区二区| 欧美久久精品午夜青青大伊人| 久久国产精品久久国产精品| 这里只有精品丝袜| 日韩激情片免费| 4438全国成人免费| 欧美日本精品在线| 亚洲性生活视频在线观看| 精品国产一区久久久| 日韩精品在线免费| 亚洲一区二区国产| www国产91| 国产精品久久久精品| …久久精品99久久香蕉国产| 亚洲大尺度美女在线| 亚洲性无码av在线| 亚洲综合日韩中文字幕v在线| 国产成人极品视频| 亚洲欧美激情精品一区二区| 国色天香2019中文字幕在线观看| 国产精品女人网站| 麻豆成人在线看| 亚洲男女性事视频| 久久精品中文字幕| 午夜精品www| 国产亚洲欧美另类中文| 欧美激情精品久久久久久久变态| 亚洲激情视频网| 性亚洲最疯狂xxxx高清| 亚洲欧美在线看| 亚洲国产另类 国产精品国产免费| 久久影视电视剧免费网站清宫辞电视| 亚洲xxx大片| 亚洲综合中文字幕在线观看| 国产精品丝袜久久久久久高清| 456亚洲影院| 欧美一区二区.| 亚洲美女www午夜| 伊人av综合网| 国产欧美日韩精品专区| 日韩国产欧美精品在线| 久久精品国产一区二区三区| 成人免费网站在线| 久久人人爽人人| 日韩成人在线播放| 欧美国产日韩精品| 欧美另类69精品久久久久9999| 亚洲精品资源在线| 欧美大片va欧美在线播放| 亚洲人成网站777色婷婷| 欧美黄网免费在线观看| 国产成人在线亚洲欧美| 91tv亚洲精品香蕉国产一区7ujn| 久久av红桃一区二区小说| 日韩美女在线播放| 日韩激情在线视频| 欧美精品久久久久久久久| 性欧美办公室18xxxxhd| 亚洲国产欧美自拍| 国产欧美日韩精品专区| 亚洲欧美中文字幕在线一区| 国产精品电影观看| 中文字幕日韩视频| 国产精品精品视频一区二区三区| 91久久精品一区| 久久精品国产亚洲| 欧美激情一二区| 久久久久久久香蕉网| 久久免费视频在线| 91精品国产综合久久香蕉922| 成人精品网站在线观看| 在线日韩中文字幕|