redis配置文件詳解(二)

4. 安全(security)redis

1
2
3
4
5
############################# SECURITY #################################
##設置redis客戶端在向redis-server發送請求以前,先進行密碼驗證。
# requirepass foobared        ##設置密碼爲"foobared"
# rename-command CONFIG b840fc02d524045429941......     ##對redis指令進行改名
# rename-command CONFIG ""      ##禁用CONFIG命令


5. 限制(limits)算法

1
2
3
###############################   LIMITS  ################################
# maxclients 10000  ##設置redis能夠同時與多少個客戶端進行鏈接(默認爲10000個客戶端)
# maxmemory <bytes>

      設置redis可以使用的內存量。一旦到達內存使用上限,redis將會試圖移除內部數據,移除規則能夠經過maxmemory-policy來指定。如redis沒法根據移除規則來移除內存中的數據,或者咱們設置了「不容許移除」,那麼redis則會針對那些須要申請內存的指令返回錯誤信息
緩存

      若是你的redis是主redis,那麼在設置內存使用上限時,須要在系統中留出一些內存空間給同步隊列緩存,只有在設置的是「不移除」的狀況下,纔不用考慮這個因素。安全

      對於內存移除規則來講,redis提供了多達6種的移除規則。他們是:bash

1. volatile-lru:使用LRU算法移除過時集合中的keyapp

2. allkeys-lru:使用LRU算法移除keydom

3. volatile-random:在過時集合中移除隨機的keyide

4. allkeys-random:移除隨機的keyui

5. volatile-ttl:移除那些TTL值最小的key,即那些最近才過時的key。lua

6. noeviction:不進行移除。針對寫操做,只是返回錯誤信息。(默認規則)

      不管使用上述哪種移除規則,若是沒有合適的key能夠移除的話,redis都會針對寫請求返回錯誤信息。

1
2
# maxmemory-policy noeviction    ##不進行移除
# maxmemory-samples 5    ##設置LRU算法的樣本數


6. 追加模式(append only mode)

1
2
3
########################## APPEND ONLY MODE ###########################
appendonly on                           ##打開AOF功能
appendfilename  "appendonly.aof"         ##設置AOF文件的名稱


      AOF持久化策略,fsync()調用,用來告訴操做系統當即將緩存的指令寫入磁盤,redis支持三種不一樣的模式:

1. always:每次寫請求都強制調用fsync,該模式下,redis會相對較慢,但數據最安全

2. everysec:每秒調用一次fsync

3. on:不調用fsync等待系統本身同步[fsync是指把緩存中的寫指令記錄到磁盤中]

1
appendfsync everysec              ##每秒調用一次fsync

     

      當BGSAVE或BGWRITEAOF運行時,fsync()在主進程中的調用會被阻止。這意味着當另外一路進程正在對AOF文件進行重構時,redis的持久化功能就失效了,就像設置了「appendsync  none」同樣。  若是redis有時延問題, 那麼將選項設置爲yes。 不然請保持no,由於這是保證數據完整性的最安全的選擇。

1
no-appendfsync-on-rewrite no


      容許redis自動重寫aof。當aof增加到必定規模時,redis會隱式調用BGREWRITEAOF來重寫log文件,以縮減文件體積。redis是這樣工做的:redis會記錄上次重寫時的aof大小。如redis自啓動至今尚未進行太重寫,那麼啓動時aof文件的大小會被做爲基準值。該基準值會和當前的aof大小進行比較。如當前aof大小超出所設置的增加比例,則會觸發重寫。另外還須要設置一個最小大小,是爲了防止在aof很小時就觸發重寫。如設置auto-aof-rewrite-percentage爲0,則會關閉此重寫功能。

1
2
3
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated  yes        ##當aof文件被損壞時,redis將返回錯誤並退出


7. LUA腳本(lua scripting)

1
2
############################ LUA SCRIPTING  #########################
lua- time -limit 5000    ##設置lua腳本最大運行時間(默認毫秒,設置爲0或負數,既不會報錯也無時間限制)
相關文章
相關標籤/搜索