<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jinfeng_wang

    G-G-S,D-D-U!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
    http://weizijun.cn/2015/12/11/redis%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3/



    本文對redis配置的說明使用的是2.8.19版本。

    配置單位說明

    redis內存配置的單位可以支持直接填寫字節,也可以填寫以下單位:

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

    單位是大小寫不敏感的,所以1GB 1Gb 1gB可以認為是一樣的。

    INCLUDES配置

    可以把其他的配置文件包含在該配置文件里面。這樣如果有一個標準的配置模板,每個redis可以include這個模板,然后填寫個性化的配置。

    需要注意的是,include配置不會被”CONFIG REWRITE”命令重寫進配置。redis重寫是把更新的數據寫入從最后一行開始寫入,所以使用include的話,最好把include放在最前面

    include

    • 說明:指定包含其它的配置文件,可以在同一主機上多個Redis實例之間使用同一份配置文件,而同時各個實例又擁有自己的特定配置文件。
    • 默認值:空。
    • 是否可以動態修改:no。
    • 值的范圍:文件路徑。

    通用配置

    下面是一些redis的通用配置。

    daemonize

    • 說明:默認情況下,redis不是在后臺運行的,如果需要在后臺運行,把該項的值更改為yes。
    • 默認值:no。
    • 是否可以動態修改:no。
    • 值的范圍:yes|no。

    pidfile

    • 說明:redis使用守護進程執行的時候保存的pid文件。
    • 默認值:/var/run/redis.pid。
    • 是否可以動態修改:no。
    • 值的范圍:文件路徑。

    port

    • 說明:redis監聽的端口號。
    • 默認值:6379。
    • 是否可以動態修改:no。
    • 值的范圍:0到65535。

    tcp-backlog

    • 說明:在高吞吐環境下,你需要更高的backlog來避免緩慢的客戶端連接問題。tcp-backlog可能被Linux內核/proc/sys/net/core/somaxconn的值截斷。backlog取的是tcp-backlog和/proc/sys/net/core/somaxconn的更小值。
    • 默認值:511。
    • 是否可以動態修改:no。
    • 值的范圍:大于等于0。

    bind

    • 說明:redis默認是監聽所有網絡地址過來的連接。但是有可能有只需要監聽一個網絡地址或者多個地址過來的連接。bind參數可以配置多個監聽地址。
    • 默認值:空。
    • 是否可以動態修改:no。
    • 值的范圍:IP地址。

    unixsocket

    • 說明:配置unix域socket來讓redis支持監聽本地連接。這個參數沒有默認值,所以redis不會使用unix域socket監聽本地連接。
    • 默認值:空。
    • 是否可以動態修改:no。
    • 值的范圍:文件地址。

    unixsocketperm

    • 說明:配置unix域socket使用文件的權限。
    • 默認值:0。
    • 是否可以動態修改:no。
    • 值的范圍:文件權限。

    timeout

    • 說明:此參數為設置客戶端空閑超過timeout,服務端會斷開連接,為0則服務端不會主動斷開連接,不能小于0。
    • 默認值:0。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    tcp-keepalive

    • 說明:tcp keepalive參數。如果設置不為0,就使用配置tcp的SO_KEEPALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問題。在Linux內核中,設置了keepalive,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。
    • 默認值:0。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    loglevel

    • 說明:指定了服務端日志的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日志級別,適合生產環境),warn(只有非常重要的信息)
    • 默認值:notice。
    • 是否可以動態修改:yes。
    • 值的范圍:debug|verbose|notice|warn。

    logfile

    • 說明:指定了記錄日志的文件。空字符串的話,日志會打印到標準輸出設備。后臺運行的redis標準輸出是/dev/null。
    • 默認值:””。
    • 是否可以動態修改:no。
    • 值的范圍:文件地址。

    下面三個是syslog相關的配置。要把日志記錄到syslog,只需要打開syslog-enabled開關,然后也有些可選的參數來適應你的需求。

    syslog-enabled

    • 說明:是否打開記錄syslog功能。
    • 默認值:no。
    • 是否可以動態修改:no。
    • 值的范圍:yes|no。

    syslog-ident

    • 說明:syslog的標識符。
    • 默認值:redis。
    • 是否可以動態修改:no。
    • 值的范圍:任意字符串。

    syslog-facility

    • 說明:日志的來源或設備。
    • 默認值:local0。
    • 是否可以動態修改:no。
    • 值的范圍:user|local0|local1|local2|local3|local4|local5|local6|local7

    databases

    • 說明:設置數據庫的數量,默認使用的數據庫是DB 0。可以通過”SELECT “命令選擇一個db,db的范圍是0到databases-1。
    • 默認值:16。
    • 是否可以動態修改:no。
    • 值的范圍:大于0。

    rdb相關配置

    rdb是用來把redis內存的數據保存到硬盤上的文件格式。

    save

    • 說明:命令格式為:”save \ \“。該命令可以把內存的數據保存到硬盤。只要滿足在指定的seconds內,寫入命令個數大于changes,就會執行保存操作。配置文件默認是開了三種保存類型,對于不希望執行保存操作的用戶最好注釋掉這些配置。
    • 默認值:
      • save 900 1
      • save 300 10
      • save 60 10000
    • 是否可以動態修改:yes。
    • 值的范圍:大于0的數字加空格加大于等于0的數字。

    stop-writes-on-bgsave-error

    • 說明:如果最后一次的后臺保存RDB snapshot出錯,redis就會拒絕所有寫請求。這樣也相當于一個報警吧。等后臺保存繼續工作后,redis就允許寫了。如果你自己配置好了redis的持久化進程的監控,你最好關閉這個功能,這樣即使磁盤有問題,redis還會繼續工作。
    • 默認值:yes。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    rdbcompression

    • 說明:使用壓縮rdb文件,rdb文件壓縮使用LZF壓縮算法。正常都會開啟壓縮。如果你想節省一些CPU,那可以考慮關閉該功能,如果你的key、value都是可壓縮的,數據集也會變得很大。
    • 默認值:yes。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    rdbchecksum

    • 說明:是否校驗rdb文件。從rdb格式的第五個版本開始,在rdb文件的末尾會帶上CRC64的校驗和。這跟有利于文件的容錯性,但是在保存rdb文件的時候,會有大概10%的性能損耗,所以如果你追求高性能,可以關閉該配置。
    • 默認值:yes。
    • 是否可以動態修改:no。
    • 值的范圍:yes|no。

    dbfilename

    • 說明:rdb文件的名稱。
    • 默認值:dump.rdb。
    • 是否可以動態修改:yes。
    • 值的范圍:文件地址。

    dir

    • 說明:工作路徑,數據庫的寫入會在這個目錄。aof文件也會寫在這個目錄下,注意:這里填的是目錄地址,而不是文件地址。
    • 默認值:./
    • 是否可以動態修改:yes。
    • 值的范圍:目錄地址。

    復制相關配置

    Master-Slave復制使用slaveof參數來讓一個redis復制另一個redis。復制的話需要注意下面一下事情:

    • 1、redis復制是異步的,但是你可以在master上配置,如果正常的slave數量不足時禁止寫入。
    • 2、slave如果和master連接斷開,可以嘗試部分同步(psync),如果斷開時間很短,可能能馬上同步成功。這也取決于backlog配置的size大小。
    • 3、復制是自動完成的,不需要用戶干預,slave與master網絡異常,slave會自動重連。

    slaveof

    • 說明:格式為”slaveof “,slave復制對應的master。
    • 默認值:空。
    • 是否可以動態修改:yes。
    • 值的范圍:masterip masterport。

    masterauth

    • 說明:如果master設置了requirepass,那么slave要連上master,需要有master的密碼才行。masterauth就是用來配置master的密碼,這樣可以在連上master后進行認證。
    • 默認值:空。
    • 是否可以動態修改:yes。
    • 值的范圍:master-password。

    slave-serve-stale-data

    • 說明:當從庫同主機失去連接或者復制正在進行,從機庫有兩種運行方式:1) 如果slave-serve-stale-data設置為yes(默認設置),從庫會繼續響應客戶端的請求。2) 如果slave-serve-stale-data設置為no,除去INFO和SLAVOF命令之外的任何請求都會返回一個錯誤”SYNC with master in progress”。
    • 默認值:yes。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    slave-read-only

    • 說明:slave是否只讀。默認slave是只讀的,可設置no,那么slave也能寫入數據。一些臨時數據可以保存在slave上(slave重連后這些數據會被清除),不過這也容易帶來配置的混淆,因為客戶端可能往slave上寫數據了。在redis的設計上,只讀的redis不應該暴露給不信任的客戶端。只讀只是為了防止對redis的濫用。只讀的slave默認是支持所有的管理命令,比如CONFIG,DEBUG。如果要限制這些命令,可以使用’rename-command’配置隱藏管理命令。
    • 默認值:yes。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    目前redis復制提供兩種方式,disk和socket。socket方式目前還處于實驗階段。如果新的slave連上來或者重連的slave無法部分同步,就會執行全量同步,master會生成rdb文件,disk方式是master創建一個新的進程把rdb文件保存到磁盤,再把磁盤上的rdb文件傳遞給slave。socket是master創建一個新的進程,直接把rdb文件以socket的方式發給slave。dis方式的時候,當一個rdb保存的過程中,多個slave都能共享這個rdb文件。socket的方式就的一個個slave順序復制。在磁盤速度緩慢,網速快的情況下推薦用socket方式。

    repl-diskless-sync

    • 說明:是否使用socket方式復制數據。
    • 默認值:no。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    repl-diskless-sync-delay

    • 說明:diskless復制的延遲時間,防止設置為0,復制開始的過快。一旦復制開始,節點不會再接收新slave的復制請求直到下一個rdb傳輸。所以最好等待一段時間,等更多的slave連上來。
    • 默認值:5。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    repl-ping-slave-period

    • 說明:master給slave發送ping命令的頻率,默認是10s發一個ping命令。
    • 默認值:10。
    • 是否可以動態修改:yes。
    • 值的范圍:大于0。

    repl-timeout

    • 說明:復制鏈接超時時間。master和slave都有超時時間的設置。master檢測到slave上次發送發送replconf命令的時間超過repl-timeout,即認為slave離線,清除該slave信息。slave檢測到上次和master交互的時間超過repl-timeout,則認為master離線。需要注意的是repl-timeout需要設置一個比repl-ping-slave-period更大的值,不然會經常檢測到超時。
    • 默認值:60
    • 是否可以動態修改:yes。
    • 值的范圍:大于0。

    repl-disable-tcp-nodelay

    • 說明:是否禁止復制tcp鏈接的tcp nodelay參數,可傳遞yes或者no。默認是no,即使用tcp nodelay。如果master設置了yes來禁止tcp nodelay設置,在把數據復制給slave的時候,會減少包的數量和更小的網絡帶寬。但是這也可能帶來數據的延遲。默認我們推薦更小的延遲,但是在數據量傳輸很大的場景下,建議選擇yes。
    • 默認值:no。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    repl-backlog-size

    • 說明:復制緩沖區大小,這是一個環形復制緩沖區,用來保存最新復制的命令。這樣在slave離線的時候,不需要完全復制master的數據,如果可以執行部分同步,只需要把緩沖區的部分數據復制給slave,就能恢復正常復制狀態。緩沖區的大小越大,slave離線的時間可以更長,復制緩沖區只有在有slave連接的時候才分配內存。沒有slave的一段時間,內存會被釋放出來。
    • 默認值:1mb。
    • 是否可以動態修改:yes。
    • 值的范圍:內存單位。

    repl-backlog-ttl

    • 說明:master沒有slave一段時間會釋放復制緩沖區的內存,repl-backlog-ttl用來設置該時間長度。單位為秒。
    • 默認值:3600
    • 是否可以動態修改:yes。
    • 值的范圍:大于0。

    slave-priority

    • 說明:當master不可用,Sentinel會根據slave的優先級選舉一個master。最低的優先級的slave,當選master。而配置成0,永遠不會被選舉。
    • 默認值:100。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    min-slaves-to-write

    • 說明:redis提供了可以讓master停止寫入的方式,如果配置了min-slaves-to-write,健康的slave的個數小于N,mater就禁止寫入。master最少得有多少個good的slave存活才能執行寫命令。這個配置雖然不能保證N個slave都一定能接收到master的寫操作,但是能避免沒有足夠good slave的時候,master不能寫入來避免數據丟失。
    • 默認值:0
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    min-slaves-max-lag

    • 說明:延遲小于min-slaves-max-lag的slave才認為是good slave。
    • 默認值:10
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    安全相關配置

    requirepass

    • 說明:requirepass配置可以讓用戶使用AUTH命令來認證密碼,才能使用其他命令。這讓redis可以使用在不受信任的網絡中。為了保持向后的兼容性,可以注釋該命令,因為大部分用戶也不需要認證。使用requirepass的時候需要注意,因為redis太快了,每秒可以認證15w次密碼,簡單的密碼很容易被攻破,所以最好使用一個更復雜的密碼。
    • 默認值:空。
    • 是否可以動態修改:yes。
    • 值的范圍:任意字符串。

    rename-command

    • 說明:在共享的模式下,可以把危險的命令給修改成其他名稱。比如CONFIG命令可以重命名為一個很難被猜到的命令,這樣用戶不能使用,而內部工具還能接著使用。
    • 默認值:空。
    • 是否可以動態修改:no。
    • 值的范圍:redis命令。

    一些限制參數

    maxclients

    • 說明:設置能連上redis的最大客戶端連接數量。默認是10000個客戶端連接。由于redis不區分連接是客戶端連接還是內部打開文件或者和slave連接等,所以maxclients最小建議設置到32。如果超過了maxclients,redis會給新的連接發送’max number of clients reached’,并關閉連接。
    • 默認值:10000。
    • 是否可以動態修改:yes。
    • 值的范圍:大于0。

    maxmemory

    • 說明:redis配置的最大內存容量。為0表示沒有內存上限。在操作系統為32位的時候,會設置最大內存為3G,同時maxmemory-policy設置為noeviction。需要注意的是,slave的輸出緩沖區是不計算在maxmemory內的。所以為了防止主機內存使用完,建議設置的maxmemory需要更小一些。
    • 默認值:空。
    • 是否可以動態修改:yes。
    • 值的范圍:內存單位。

    maxmemory-policy

    • 說明:內存容量超過maxmemory后的處理策略。volatile-lru:利用LRU算法移除設置過過期時間的key。volatile-random:隨機移除設置過過期時間的key。volatile-ttl:移除即將過期的key。allkeys-lru:利用LRU算法移除任何key。allkeys-random:隨機移除任何key。noeviction:不移除任何key,只是返回一個寫錯誤。上面的這些驅逐策略,如果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。
    • 默認值:volatile-lru。
    • 是否可以動態修改:yes。
    • 值的范圍:volatile-lru|allkeys-lru|volatile-random|allkeys-random|volatile-ttl|noeviction。

    maxmemory-samples

    • 說明:lru檢測的樣本數。使用lru或者ttl淘汰算法,從需要淘汰的列表中隨機選擇sample個key,選出閑置時間最長的key移除。
    • 默認值:3。
    • 是否可以動態修改:yes。
    • 值的范圍:大于0。

    aof配置

    appendonly

    • 說明:默認redis使用的是rdb方式持久化,這種方式在許多應用中已經足夠用了。但是redis如果中途宕機,會導致可能有幾分鐘的數據丟失。Append Only File是另一種持久化方式,可以提供更好的持久化特性。實例使用默認的fsync方式,redis在主機宕機的時候,僅僅丟失1秒的數據,而只是redis宕機,可能只會丟失一條寫入數據。
    • 默認值:no。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    appendfilename

    • 說明:aof文件名。
    • 默認值:”appendonly.aof”
    • 是否可以動態修改:no。
    • 值的范圍:文件路徑。

    appendfsync

    • 說明:aof持久化策略的配置,no表示不執行fsync,由操作系統保證數據同步到磁盤,速度最快。always表示每次寫入都執行fsync,以保證數據同步到磁盤。everysec表示每秒執行一次fsync,可能會導致丟失這1s數據。更多的細節可以看redis作者的博客:http://antirez.com/post/redis-persistence-demystified.html
    • 默認值:everysec。
    • 是否可以動態修改:yes。
    • 值的范圍:everysec|always|no。

    no-appendfsync-on-rewrite

    • 說明:在aof重寫或者寫入rdb文件的時候,會執行大量IO,此時對于everysec和always的aof模式來說,執行fsync會造成阻塞過長時間,no-appendfsync-on-rewrite字段設置為默認設置為no。如果對延遲要求很高的應用,這個字段可以設置為yes,否則還是設置為no,這樣對持久化特性來說這是更安全的選擇。選擇no,意味著在子進程save的時候,fsync的策略相當于no。Linux的默認fsync策略是30秒。可能丟失30秒數據。
    • 默認值:no。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。

    auto-aof-rewrite-percentage

    • 說明:aof自動重寫配置。當aof文件增長到一定大小的時候Redis能夠調用 bgrewriteaof 對日志文件進行重寫。Redis會記住上次進行些日志后文件的大小。基礎大小會同現在的大小進行比較。如果現在的大小比基礎大小大制定的百分比,重寫功能將啟動。同時需要指定一個最小大小用于aof重寫,這個用于阻止即使文件很小但是增長幅度很大也去重寫aof文件的情況。
    • 默認值:100
    • 是否可以動態修改:yes。
    • 值的范圍:大于0。

    auto-aof-rewrite-min-size

    • 說明:aof自動重寫配置。需要同時滿足aof文件大小大于auto-aof-rewrite-min-size和增長率大于auto-aof-rewrite-percentage才能重寫。
    • 默認值:64mb。
    • 是否可以動態修改:yes。
    • 值的范圍:內存單位。

    aof-load-truncated

    • 說明:aof文件可能在尾部是不完整的,當redis啟動的時候,aof文件的數據被載入內存。這重啟可能發生在redis所在的宿主機操作系統宕機后,尤其在ext4文件系統沒有加上data=ordered選項(redis宕機或者異常終止不會造成尾部不完整現象。)出現這種現象,可以選擇讓redis退出,或者導入盡可能多的數據。如果選擇的是yes,當截斷的aof文件被導入的時候,會自動發布一個log給客戶端然后load。如果是no,用戶必須手動redis-check-aof修復AOF文件才可以。
    • 默認值:yes。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no

    LUA腳本配置

    lua-time-limit

    • 說明:如果達到最大時間限制(毫秒),redis會記個log,然后返回error。當一個腳本超過了最大時限。只有SCRIPT KILL和SHUTDOWN NOSAVE可以用。第一個可以殺沒有調write命令的東西。要是已經調用了write,只能用第二個命令殺。
    • 默認值:5000。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    SLOW LOG配置

    slog log是用來記錄redis運行中執行比較慢的命令耗時。當命令的執行超過了指定時間,就記錄在slow log中,slog log保存在內存中,所以沒有IO操作。

    slowlog-log-slower-than

    • 說明:執行時間比slowlog-log-slower-than大的請求記錄到slowlog里面,單位是微秒
    • 默認值:10000
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0.

    slowlog-max-len

    • 說明:記錄slowlog的最大長度
    • 默認值:128
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    延遲監控配置

    latency-monitor-threshold

    • 說明:延遲監控功能是用來監控redis中執行比較緩慢的一些操作,用LATENCY打印redis實例在跑命令時的耗時圖表。只記錄大于等于下邊設置的值的操作。0的話,就是關閉監視。默認延遲監控功能是關閉的,如果你需要打開,可以通過CONFIG SET命令動態設置。
    • 默認值:0。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    事件通知配置

    notify-keyspace-events

    • 說明:鍵空間通知使得客戶端可以通過訂閱頻道或模式,來接收那些以某種方式改動了 Redis 數據集的事件。
      因為開啟鍵空間通知功能需要消耗一些 CPU ,所以在默認配置下,該功能處于關閉狀態。
      notify-keyspace-events 的參數可以是以下字符的任意組合,它指定了服務器該發送哪些類型的通知:
      字符 發送的通知

      • K 鍵空間通知,所有通知以 __keyspace@__ 為前綴
      • E 鍵事件通知,所有通知以 __keyevent@__ 為前綴
      • g DEL 、 EXPIRE 、 RENAME 等類型無關的通用命令的通知
      • $ 字符串命令的通知
      • l 列表命令的通知
      • s 集合命令的通知
      • h 哈希命令的通知
      • z 有序集合命令的通知
      • x 過期事件:每當有過期鍵被刪除時發送
      • e 驅逐(evict)事件:每當有鍵因為 maxmemory 政策而被刪除時發送
      • A 參數 g$lshzxe 的別名

      輸入的參數中至少要有一個 K 或者 E,否則的話,不管其余的參數是什么,都不會有任何 通知被分發。詳細使用可以參考http://redis.io/topics/notifications

    • 默認值:””
    • 是否可以動態修改:yes。
    • 值的范圍:KEg$lshzxeA

    高級配置

    hash-max-ziplist-entries

    • 說明:數據量小于等于hash-max-ziplist-entries的用ziplist,大于hash-max-ziplist-entries用hash。
    • 默認值:512。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    hash-max-ziplist-value

    • 說明:value大小小于等于hash-max-ziplist-value的用ziplist,大于hash-max-ziplist-value用hash。
    • 默認值:64。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    list-max-ziplist-entries

    • 說明:數據量小于等于list-max-ziplist-entries用ziplist,大于list-max-ziplist-entries用list。
    • 默認值:512。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    list-max-ziplist-value

    • 說明:value大小小于等于list-max-ziplist-value的用ziplist,大于list-max-ziplist-value用list。
    • 默認值:64。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    set-max-intset-entries

    • 說明:數據量小于等于set-max-intset-entries用iniset,大于set-max-intset-entries用set。
    • 默認值:512。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    zset-max-ziplist-entries

    • 說明:數據量小于等于zset-max-ziplist-entries用ziplist,大于zset-max-ziplist-entries用zset。
    • 默認值:128。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    zset-max-ziplist-value

    • 說明:value大小小于等于zset-max-ziplist-value用ziplist,大于zset-max-ziplist-value用zset。
    • 默認值:64。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    hll-sparse-max-bytes

    • 說明:value大小小于等于hll-sparse-max-bytes使用稀疏數據結構(sparse),大于hll-sparse-max-bytes使用稠密的數據結構(dense)。一個比16000大的value是幾乎沒用的,建議的value大概為3000。如果對CPU要求不高,對空間要求較高的,建議設置到10000左右。
    • 默認值:3000。
    • 是否可以動態修改:yes。
    • 值的范圍:大于等于0。

    activerehashing

    • 說明:Redis將在每100毫秒時使用1毫秒的CPU時間來對redis的hash表進行重新hash,可以降低內存的使用。當你的使用場景中,有非常嚴格的實時性需要,不能夠接受Redis時不時的對請求有2毫秒的延遲的話,把這項配置為no。如果沒有這么嚴格的實時性要求,可以設置為yes,以便能夠盡可能快的釋放內存。
    • 默認值:yes。
    • 是否可以動態修改:no。
    • 值的范圍:yes|no。

    client-output-buffer-limit

    • 說明:client output buffer限制,可以用來強制關閉傳輸緩慢的客戶端。格式為client-output-buffer-limit 。class可以為normal、slave、pubsub。hard limit表示output buffer超過該值就直接關閉客戶端。soft limit和soft seconds表示output buffer超過soft limit后只需soft seconds后關閉客戶端連接。
    • 默認值:
      • client-output-buffer-limit normal 0 0 0
      • client-output-buffer-limit slave 256mb 64mb 60
      • client-output-buffer-limit pubsub 32mb 8mb 60
    • 是否可以動態修改:yes。
    • 值的范圍:[normal|slave|pubsub] \d+ \d+ \d+

    hz

    • 說明:redis執行任務的頻率為1s除以hz。
    • 默認值:10。
    • 是否可以動態修改:yes。
    • 值的范圍:1-500。

    aof-rewrite-incremental-fsync

    • 說明:在aof重寫的時候,如果打開了aof-rewrite-incremental-fsync開關,系統會每32MB執行一次fsync。這對于把文件寫入磁盤是有幫助的,可以避免過大的延遲峰值。
    • 默認值:yes。
    • 是否可以動態修改:yes。
    • 值的范圍:yes|no。
    posted on 2016-12-14 18:32 jinfeng_wang 閱讀(150) 評論(0)  編輯  收藏 所屬分類: 2016-REDIS
    主站蜘蛛池模板: 亚洲欧美不卡高清在线| 一级成人a免费视频| 四虎永久免费地址在线观看| 免费夜色污私人影院网站| 亚洲中文字幕无码一区| 国产香蕉免费精品视频| 亚洲av永久无码精品秋霞电影秋 | 亚洲欧洲日产国码久在线| 亚洲AV无码乱码在线观看性色扶| 香蕉免费看一区二区三区| 亚洲成年人电影网站| 亚洲成av人片不卡无码久久| 无码日韩精品一区二区三区免费| 亚洲一卡2卡3卡4卡5卡6卡| 久久久久亚洲AV成人网人人软件 | 99精品视频免费观看| 亚洲AV无码专区亚洲AV桃| 亚洲国产成人一区二区三区| 无码一区二区三区AV免费| 亚洲一区二区三区免费| 亚洲精品无码久久久久久久| 亚洲国产成人久久综合野外| 在线a免费观看最新网站| 免费一级做a爰片久久毛片潮| 亚洲第一区视频在线观看| 免费在线观看毛片| 18国产精品白浆在线观看免费| rh男男车车的车车免费网站| 亚洲AV日韩综合一区尤物| 国产AV无码专区亚洲AV毛网站| 韩国日本好看电影免费看| 7m凹凸精品分类大全免费| 一级毛片免费视频网站| 亚洲精品无码一区二区| 久久亚洲AV无码精品色午夜| 亚洲国产专区一区| 午夜无遮挡羞羞漫画免费| 国产精品入口麻豆免费观看| 国产午夜无码精品免费看动漫| 高潮毛片无遮挡高清免费视频| 亚洲AV综合色区无码二区爱AV|