日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis配置文件常用配置消息解说--版本5.0.9

發布時間:2024/7/23 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis配置文件常用配置消息解说--版本5.0.9 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單位

配置文件中的uint單位對大小寫不敏感

引用包 INCLUDES

  • redis中也可以引用其他的配置文件。
  • 需要注意的是,在主從復制機制中,主機或哨兵的命令“CONFIG REWRITE”不會重寫“include”選項。
  • Redis總是使用最后處理的行作為配置指令的值,最好將“includes”放在該文件的開頭,以避免在運行時覆蓋配置更改。
  • # include /path/to/local.conf # include /path/to/other.conf

    網絡 NETWORK

    # 指定 redis 只接收來自于該IP地址的請求,如果不進行設置,那么將處理所有請求。 bind 127.0.0.1 # 是否開啟保護模式,默認開啟。要是配置里沒有指定bind和密碼。開啟該參數后,redis只會本地進行訪問,拒絕外部訪問。開啟了密碼和bind的時候可以開啟。否則最好關閉,設為no。 protected-mode yes # redis進行監聽的端口號。 port 6379 # TCP連接中已三次握手隊列的長度,當然此值必須不大于Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。 # 當系統并發量大并且客戶端速度緩慢的時候,可以將兩個參數一起參考。內核參數默認值一般是128,對于負載很大的服務程序來說是遠遠的不夠。一般會將它修改為2048或者更大。 # 在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,然后在終端中執行 sysctl -p。 tcp-backlog 511# 此參數為設置客戶端空閑超過timeout,服務端會斷開連接,為0則服務端不會主動斷開連接,不能小于0,默認為0。 timeout 0# tcp 保活參數。如果不為為0,就使用配置tcp的SO_KEEPALIVE值。 # 使用keepalive有兩個好處: # 1. 檢測掛掉的對端。 # 2. 降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問題。 # 在Linux內核中,設置了keepalive,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。 tcp-keepalive 300

    通用 GENERAL

    # 以保護進程的方式運行,默認是no,需要自己開通,否則一退出進程就結束了。 daemonize yes # 管理守護進程,默認是no,一般不用動。 supervised no # 如果以后臺的方式運行,就需要指定一個pid文件。 pidfile /var/run/redis_6379.pid # 日志級別。debug,verbose,notice,warn。 loglevel notice# 指定日志文件目錄。 # 為""時,日志會打印到標準輸出設備。 # 后臺運行的redis標準輸出是/dev/null logfile /usr/local/redis/redis.log 日志的文件位置名# 打開記錄syslog功能。 # syslog-enabled no# syslog的標識符。 # syslog-ident redis# 日志來源、設備。 # syslog-facility local0# 數據庫的數量,默認使用的數據庫是0。可以通過”SELECT 【數據庫序號】“命令選擇一個數據庫,序號從0開始。 databases 16#總是顯示logo,默認yes。 always-show-logo yes

    快照 SNAPSHOTTING

    # 900秒中至少有1個key進行了修改,就會進行持久化。 save 900 1# 300秒中至少有10個key進行了修改,就會進行持久化。 save 300 10 # 60秒中至少有10000個key進行了修改,就會進行持久化。 save 60 10000 # 持久化出錯是否繼續工作,默認no,需要開啟,可以通過info中的rdb_last_bgsave_status了解RDB持久化是否有錯誤。 stop-writes-on-bgsave-error yes # 壓縮rdb文件,默認為yes。Redis采用LZF壓縮方式,但占用了一點CPU的時間。若關閉該選項,但會導致數據庫文件變的巨大。建議開啟。 rdbcompression yes# 在保存rdb的時候,進行錯誤的檢查校驗,這很有利于文件的容錯性,但是在保存rdb文件的時候,會有大概10%的性能損耗,所以如果追求高性能,可以設為no。 rdbchecksum yes # rdb的文件名,一般使用默認。 dbfilename dump.rdb # rdb文件保存的目錄。 dir ./

    復制 REPLICATION

    # 復制選項,slave復制對應的master。 # replicaof <masterip> <masterport># 如果master設置了密碼驗證,那么slave要連上master,需要有master的密碼才行。masterauth就是用來配置master的密碼,這樣可以在連上master后進行認證。 # masterauth <master-password># 當slave同master失去連接或者復制正在進行,slave有兩種運行方式。 # 1. 如果slave-serve-stale-data設置為yes(默認設置),slave會繼續響應客戶端的請求。 # 2. 如果slave-serve-stale-data設置為no,那么當接收到INFO、replicaOF、AUTH、PING、SHUTDOWN、REPLCONF、ROLE、CONFIG、SUBSCRIBE、UNSUBSCRIBE、PSUBSCRIBE、PUNSUBSCRIBE、PUBLISH, PUBSUB、COMMAND、POST、HOST和LATENCY命令之外的任何請求都會返回一個”SYNC with master in progress”錯誤。 replica-serve-stale-data yes# 作為從服務器,默認情況下是只讀的(yes),可以修改成NO,用于寫(不建議)。 replica-read-only yes# 是否使用socket方式復制數據。目前redis復制提供兩種方式,disk和socket。 # 如果新的slave連上來或者重連的slave無法部分同步,就會執行全量同步,master會生成rdb文件。 # 1. Disk-backed : master創建一個新的進程把rdb文件保存到磁盤,再把磁盤上的rdb文件傳遞給slave。 # 2. Diskless : 是master創建一個新的進程,直接把rdb文件以socket的方式發給slave。 # Disk-backed時,當一個rdb保存的過程中,多個slave都能共享這個rdb文件。 # Diskless的方式就得一個個slave順序復制。在磁盤速度緩慢,網速快的情況下推薦用socket方式。 repl-diskless-sync no# diskless復制的延遲時間,防止設置為0。一旦復制開始,節點不會再接收新slave的復制請求直到下一個rdb傳輸。所以最好等待一段時間,等更多的slave連上來。 repl-diskless-sync-delay 5# slave根據指定的時間間隔向服務器發送ping請求。時間間隔可以通過repl_ping_slave_period來設置,默認10秒。 # repl-ping-slave-period 10# 復制連接超時時間。master和slave都有超時時間的設置。master檢測到slave上次發送的時間超過repl-timeout,即認為slave離線,清除該slave信息。slave檢測到上次和master交互的時間超過repl-timeout,則認為master離線。需要注意的是repl-timeout需要設置一個比repl-ping-slave-period更大的值,不然會經常檢測到超時。 # repl-timeout 60# 是否禁止復制tcp鏈接的tcp-nodelay參數。默認是no,即使用tcp nodelay。如果master設置了yes來禁止tcp nodelay設置,在把數據復制給slave的時候,會減少包的數量和更小的網絡帶寬。但是這也可能帶來數據的延遲。默認我們推薦更小的延遲,但是在數據量傳輸很大的場景下,建議選擇yes。 repl-disable-tcp-nodelay no# 復制緩沖區大小,這是一個環形復制緩沖區,用來保存最新復制的命令。這樣在slave離線的時候,不需要完全復制master的數據,如果可以執行部分同步,只需要把緩沖區的部分數據復制給slave,就能恢復正常復制狀態。緩沖區的大小越大,slave離線的時間可以更長,復制緩沖區只有在有slave連接的時候才分配內存。master沒有slave一段時間后,內存會被釋放出來,默認1m。 # repl-backlog-size 1mb# master沒有slave一段時間會釋放復制緩沖區的內存,repl-backlog-ttl用來設置該時間長度。單位為秒。 # repl-backlog-ttl 3600# 當master不可用,Sentinel會根據slave的優先級選舉一個master。最低的優先級的slave,當選master。而配置成0,將永遠不會被選舉。 replica-priority 100# redis提供了可以讓master停止寫入的方式,如果配置了min-replicas-to-write,當健康的slave個數小于N,mater就禁止寫入。master最少得有N個健康的slave存活才能執行寫命令。這個配置雖然不能保證N個slave都一定能接收到master的寫操作,但是能避免沒有足夠健康的slave的時候,master不能寫入來避免數據丟失。設置為0是關閉該功能。 # min-replicas-to-write 3# 延遲小于min-replicas-max-lag秒的slave才認為是健康的slave。 # min-replicas-max-lag 10

    安全 SECURITY

    # 讓用戶使用AUTH命令來認證密碼,才能使用其他命令。這讓redis可以使用在不受信任的網絡中。為了保持向后的兼容性,可以注釋該命令,因為大部分用戶也不需要認證。使用requirepass的時候需要注意,因為redis太快了,每秒可以認證15w次密碼,簡單的密碼很容易被攻破,所以最好使用一個更復雜的密碼。默認沒有密碼。 # requirepass foobared 例子: 127.0.0.1:6379> CONFIG GET requirepass 1) "requirepass" 2) "" 127.0.0.1:6379> CONFIG SET requirepass "111111" OK 127.0.0.1:6379> ping (error) NOAUTH Authentication required. 127.0.0.1:6379> AUTH 111111 OK 127.0.0.1:6379> ping PONG# 把危險的命令給修改成其他名稱。 # 比如CONFIG命令可以重命名為一個很難被猜到的命令,這樣用戶不能使用,而內部工具還能接著使用。 # rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 # 可以設置成一個空的值,可以禁止一個命令。 # rename-command CONFIG ""

    限制 CLIENTS

    #設置最大連客戶端接數。 maxclients

    內存 MEMORY

    #設置最大的內存容量。 maxmemory <bytes> #內存超出配置策略。 maxmemory-policy noeviction redis內存滿了的淘汰策略 1. volatile-lru:只對設置了過期時間的key進行LRU(默認值) 2. allkeys-lru : 刪除lru算法的key 3. volatile-random:隨機刪除即將過期key 4. allkeys-random:隨機刪除 5. volatile-ttl : 刪除即將過期的 6. noeviction : 永不過期,返回錯誤 # 上面的這些驅逐策略,如果redis沒有合適的key驅逐,對于寫命令,還是會返回錯誤。redis將不再接收寫請求,只接收get請求。寫命令包括: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。# lru檢測的樣本數。使用lru或者ttl淘汰算法,從需要淘汰的列表中隨機選擇sample個key,選出閑置時間最長的key移除。 # maxmemory-samples 5# 是否開啟salve的最大內存。 # replica-ignore-maxmemory yes

    AOF APPEND ONLY

    # 默認是不開啟aof模式,默認是rdb模式,在大部分情況下,rdb基本夠用 appendonly no # 持久化文件的名字 appendfilename "appendonly.aof"# 每次都會同步,消耗性能,比較慢 # appendfsync always# 每秒同步一次,可能會丟失這1s的數據 appendfsync everysec # 不執行同步,這個時候作系統自己同步數據,速度是最快的 # appendfsync no

    總結

    以上是生活随笔為你收集整理的Redis配置文件常用配置消息解说--版本5.0.9的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。