NoSQL之【Redis】学习(二):配置说明
生活随笔
收集整理的這篇文章主要介紹了
NoSQL之【Redis】学习(二):配置说明
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
# yes:后臺運行;no:不是后臺運行(老版本默認) daemonize yes# redis的進程文件 pidfile /var/run/redis.pid# 端口 port 6379 # bind_address 綁定地址的設(shè)置,和MySQL的一樣,一般設(shè)置為本地地址,這樣就需要指定IP訪問了。如:redis -h 192.168.200.202;默認所有地址都可以連接。 # bind 127.0.0.1# Redis 的 套接字 文件 # unixsocket /tmp/redis.sock # unixsocketperm 755# 該連接多少秒之內(nèi)沒有響應(yīng),則關(guān)閉,默認300s,0表示不關(guān)閉。 timeout 0# 日志等級 loglevel notice# log文件的目錄,默認打印到終端(stdout) logfile /var/log/redis/redis.log# 數(shù)據(jù)庫的個數(shù),默認使用的是0數(shù)據(jù)庫,用select <dbid> 切換 databases 16################################ SNAPSHOTTING ################################# # 快照配置 # 注釋掉“save”這一行配置項就可以讓保存數(shù)據(jù)庫功能失效 # 設(shè)置sedis進行數(shù)據(jù)庫鏡像的頻率。 # 900秒(15分鐘)內(nèi)至少1個key值改變(則進行數(shù)據(jù)庫保存--持久化) # 300秒(5分鐘)內(nèi)至少10個key值改變(則進行數(shù)據(jù)庫保存--持久化) # 60秒(1分鐘)內(nèi)至少10000個key值改變(則進行數(shù)據(jù)庫保存--持久化) save 900 1 save 300 10 save 60 10000# 快照功能開啟,后臺持久化操作失敗,Redis則會停止接受更新操作,否則沒人注意到數(shù)據(jù)不會寫磁盤持久化。 # 如果后臺持久化操作進程再次工作,Redis會自動允許更新操作(yes);后臺持久化操作出錯,redis也仍然 # 可以繼續(xù)像平常一樣工作(no) stop-writes-on-bgsave-error yes# 在進行鏡像備份時,是否進行壓縮。yes:壓縮,但是需要一些cpu的消耗。no:不壓縮,需要更多的磁盤空間 rdbcompression yes#從版本RDB版本5開始,一個CRC64的校驗就被放在了文件末尾。 #這會讓格式更加耐攻擊,但是當(dāng)存儲或者加載rbd文件的時候會有一個10%左右的性能下降, #所以,為了達到性能的最大化,你可以關(guān)掉這個配置項。 #沒有校驗的RDB文件會有一個0校驗位,來告訴加載代碼跳過校驗檢查。 rdbchecksum yes# 數(shù)據(jù)庫文件的文件名 dbfilename dump.rdb# 數(shù)據(jù)目錄 dir /var/lib/redis################################# REPLICATION ################################# # 復(fù)制 # 復(fù)制選項 # slaveof <masterip> <masterport># 指定與主數(shù)據(jù)庫連接時需要的密碼驗證 # masterauth <master-password>slave-serve-stale-data yes# 作為從服務(wù)器,默認情況下是只讀的(yes),可以修改成NO,用于寫(不建議)。 slave-read-only yes# slave根據(jù)指定的時間間隔向服務(wù)器發(fā)送ping請求。時間間隔可以通過 repl_ping_slave_period 來設(shè)置,默認10秒。 # repl-ping-slave-period 10# 下面的選項設(shè)置了大塊數(shù)據(jù)I/O、向master請求數(shù)據(jù)和ping響應(yīng)的過期時間。默認值60秒。 # 一個很重要的事情是:確保這個值比 repl-ping-slave-period 大,否則master和slave之間的傳輸過期時間比預(yù)想的要短。 # repl-timeout 60# 優(yōu)先級 slave-priority 100################################## SECURITY ################################### # 安全 # requirepass foobared # rename-command CONFIG ""################################### LIMITS #################################### # 限制 # 設(shè)置最多同時連接客戶端數(shù)量。默認沒有限制,這個關(guān)系到Redis進程能夠打開的文件描述符數(shù)量。特殊值"0"表示沒有限制。 # 一旦達到這個限制,Redis會關(guān)閉所有新連接并發(fā)送錯誤"達到最大用戶數(shù)上限(max number of clients reached)" # maxclients 10000# 設(shè)置redis能夠使用的最大內(nèi)存。 # 當(dāng)內(nèi)存滿了的時候,如果還接收到set命令,redis將先嘗試剔除設(shè)置過expire信息的key,而不管該key的過期時間還沒有到達。 # 在刪除時,將按照過期時間進行刪除,最早將要被過期的key將最先被刪除。如果帶有expire信息的key都刪光了,那么將返回錯誤。 # 這樣,redis將不再接收寫請求,只接收get請求。 # maxmemory <bytes># 內(nèi)存策略:如果達到內(nèi)存限制了,Redis如何刪除key。你可以在下面五個策略里面選: # volatile-lru -> 根據(jù)LRU算法生成的過期時間來刪除。 # allkeys-lru -> 根據(jù)LRU算法刪除任何key。 # volatile-random -> 根據(jù)過期設(shè)置來隨機刪除key。 # allkeys->random -> 無差別隨機刪。 # volatile-ttl -> 根據(jù)最近過期時間來刪除(輔以TTL) # noeviction -> 誰也不刪,直接在寫操作時返回錯誤。 # 注意:對所有策略來說,如果Redis找不到合適的可以刪除的key都會在寫操作時返回一個錯誤。 # maxmemory-policy volatile-lru# LRU和minimal TTL是近似算法(為了節(jié)省內(nèi)存),它們會在一個有3個鍵值的樣本中選擇較沒用的那個。 # maxmemory-samples 3############################## APPEND ONLY MODE ############################### # 追加模式 # 默認情況下,Redis是異步的把數(shù)據(jù)導(dǎo)出到磁盤上。這種情況下,當(dāng)Redis掛掉的時候,最新的數(shù)據(jù)就丟了。 # 如果不希望丟掉任何一條數(shù)據(jù)的話就該用追加模式:一旦開啟這個模式,Redis會把每次寫入的數(shù)據(jù)在接收后都寫入 appendonly.aof 文件。 # 每次啟動時Redis都會把這個文件的數(shù)據(jù)讀入內(nèi)存里。 # 注意,異步導(dǎo)出的數(shù)據(jù)庫文件和純累加文件可以并存(你得把上面所有"save"設(shè)置都注釋掉,關(guān)掉導(dǎo)出機制)。 # 如果純累加模式開啟了,那么Redis會在啟動時載入日志文件而忽略導(dǎo)出的 dump.rdb 文件。 # 重要:查看 BGREWRITEAOF 來了解當(dāng)累加日志文件太大了之后,怎么在后臺重新處理這個日志文件 appendonly no# 定義AOF文件的名稱 # appendfilename appendonly.aof# Redis支持三種不同的刷寫模式: # no:不要立刻刷,只有在操作系統(tǒng)需要刷的時候再刷。比較快。IO消耗最小,最不安全 # always:每次寫操作都立刻寫入到aof文件。慢,但是最安全。 # everysec:每秒寫一次。折衷方案。 # 默認的 "everysec" 通常來說能在速度和數(shù)據(jù)安全性之間取得比較好的平衡。# appendfsync always appendfsync everysec # appendfsync no# 如果你有延遲的問題那就把這個設(shè)為 "yes",否則就保持 "no",這是保存持久數(shù)據(jù)的最安全的方式。 no-appendfsync-on-rewrite no# 自動重寫AOF文件,指定百分比為0會禁用AOF自動重寫特性。 # 如果AOF日志文件大到指定百分比,Redis能夠通過 BGREWRITEAOF 自動重寫AOF日志文件。如果當(dāng)前大小超過指定比例,就會觸發(fā)重寫操作。 # 你還需要指定被重寫日志的最小尺寸,這樣避免了達到約定百分比但尺寸仍然很小的情況還要重寫。 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb################################ LUA SCRIPTING ############################### lua-time-limit 5000 ################################## SLOW LOG ################################### # 慢查詢 # 下面的時間單位是微秒,所以1000000就是1秒。注意,負數(shù)時間會禁用慢查詢?nèi)罩?#xff0c;而0則會強制記錄所有命令。 slowlog-log-slower-than 10000 # 慢查詢?nèi)罩鹃L度。當(dāng)一個新的命令被寫進日志的時候,最老的那個記錄會被刪掉。這個長度沒有限制。只要有足夠的內(nèi)存就行。你可以通過 SLOWLOG RESET 來釋放內(nèi)存。 slowlog-max-len 128############################### ADVANCED CONFIG ############################### # 高級配置 # 當(dāng)有大量數(shù)據(jù)時,適合用哈希編碼(需要更多的內(nèi)存),元素數(shù)量上限不能超過給定限制。你可以通過下面的選項來設(shè)定這些限制: hash-max-ziplist-entries 512 hash-max-ziplist-value 64# 與哈希相類似,數(shù)據(jù)元素較少的情況下,可以用另一種方式來編碼從而節(jié)省大量空間。這種方式只有在符合下面限制的時候才可以用: list-max-ziplist-entries 512 list-max-ziplist-value 64# 數(shù)據(jù)全是64位無符號整型數(shù)字構(gòu)成的字符串。下面這個配置項就是用來限制這種情況下使用這種編碼的最大上限的。 set-max-intset-entries 512# 與第一、第二種情況相似,有序序列也可以用一種特別的編碼方式來處理,可節(jié)省大量空間。這種編碼只適合長度和元素都符合下面限制的有序序列: zset-max-ziplist-entries 128 zset-max-ziplist-value 64# 默認是每秒鐘進行10次哈希表刷新,用來刷新字典,然后盡快釋放內(nèi)存。 # 建議:如果你對延遲比較在意的話就用 "activerehashing no";如果你不太在意延遲而希望盡快釋放內(nèi)存的話就設(shè)置 "activerehashing yes"。 activerehashing yes# 對客戶端輸出緩沖進行限制可以強迫那些不從服務(wù)器讀取數(shù)據(jù)的客戶端斷開連接。 # 對于normal client,第一個0表示取消hard limit,第二個0和第三個0表示取消soft limit,normal client默認取消限制,因為如果沒有尋問,他們是不會接收數(shù)據(jù)的。 client-output-buffer-limit normal 0 0 0# 對于slave client和MONITER client,如果client-output-buffer一旦超過256mb,又或者超過64mb持續(xù)60秒,那么服務(wù)器就會立即斷開客戶端連接。 client-output-buffer-limit slave 256mb 64mb 60# 對于pubsub client,如果client-output-buffer一旦超過32mb,又或者超過8mb持續(xù)60秒,那么服務(wù)器就會立即斷開客戶端連接。 client-output-buffer-limit pubsub 32mb 8mb 60################################## INCLUDES ################################### # 包含 #這在你有標準配置模板但是每個redis服務(wù)器又需要個性設(shè)置的時候很有用。 # include /path/to/local.conf # include /path/to/other.conf?更詳細的說明請見:redis.conf中文版
?樣版:
daemonize yes pidfile /var/run/redis.pid port 6379 #bind 127.0.0.1 unixsocket /tmp/redis.sock # unixsocketperm 755 timeout 0 loglevel notice logfile /var/log/redis/redis.log databases 16save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum no dbfilename dump.rdb dir /var/lib/redis# slaveof <masterip> <masterport> # masterauth <master-password> slave-serve-stale-data yes slave-read-only yes repl-ping-slave-period 10 repl-timeout 60 slave-priority 100# requirepass foobared # rename-command CONFIG ""maxclients 10000 maxmemory 65536# maxmemory-policy volatile-lru # maxmemory-samples 3appendonly no appendfilename appendonly.aof # appendfsync always appendfsync everysec # appendfsync nono-appendfsync-on-rewrite no auto-aof-rewrite-min-size 64mblua-time-limit 5000slowlog-log-slower-than 10000 slowlog-max-len 128hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 activerehashing yesclient-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60# include /path/to/local.conf # include /path/to/other.conf轉(zhuǎn)載于:https://my.oschina.net/suventop/blog/1924858
總結(jié)
以上是生活随笔為你收集整理的NoSQL之【Redis】学习(二):配置说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构-王道-排序
- 下一篇: PostgreSQL 10.1 手册_部