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或負數,既不會報錯也無時間限制)
|