redis 安所有分,高級部分配置

七,安所有分redis


當redis-server處於一個不太可信的網絡環境中時,能夠要求redis客戶端在向安全


redis-server發送請求以前,先進行密碼驗證服務器


1:requirepass:設置請求的密碼網絡


2:rename-command:對命令進行重命名,只讀的從redis並不適合直接暴露給不可信的客戶數據結構


端。爲了儘可能下降風險,可使用rename-command指令來將一些可能有破壞力的命令重命函數


名,避免外部直接調用。性能


若是要禁用某些命令,那就重命名爲「」就能夠了ui


八,Lua腳本部分編碼


1:lua-time-limit:設置ua腳本的最大運行時間,單位是毫秒,若是此值設置爲0或負數,則lua


既不會有報錯也不會有時間限制


九,慢日誌部分


1:slowlog-log-slower-than:判斷是否慢日誌的執行時長,單位是微秒,負數則會禁用慢日


志功能,而0則表示強制記錄每個命令


2:slowlog-max-len:慢日誌的長度。當一個新的命令被寫入日誌時,最老的一條會從命令日


志隊列中被移除。


十,事件通知部分


1:notify-keyspace-events:設置是否開啓Pub/Sub 客戶端關於鍵空間發生的事件,有不少


通知的事件類型,默認被禁用,由於用戶一般不須要該特性,而且該特性會有性能損耗,


設置成空字符串就是禁用


十一,高級配置部分


1:有關哈希數據結構的一些配置項:當hash只有少許的entry,而且最大的entry所佔空間沒


有超過指定的限制時,會用一種節省內存的數據結構來編碼:


(1)hash-max-ziplist-entries:設置使用ziplist的最大的entry數


(2)hash-max-ziplist-value:設置使用ziplist的值的最大長度


2:有關列表數據結構的一些配置項:數據元素較少的list,能夠用另外一種方式來編碼從而節


省大量空間:


(1)list-max-ziplist-entries:設置使用ziplist的最大的entry數


(2)list-max-ziplist-value:設置使用ziplist的值的最大長度


3:有關Set數據結構的配置項:當set數據全是十進制64位有符號整型數字構成的字符串時,


設置set使用一種緊湊編碼格式來節省內存的最大長度:


(1)set-max-intset-entries:設置使用緊湊編碼的最大的entry數


4:有關有序集合數據結構的配置項:有序集合也能夠用一種特別的編碼方式來節省大量空


間,這種編碼只適合長度和元素都小於下面限制的有序集合:


(1)zset-max-ziplist-entries:設置使用ziplist的最大的entry數


(2)zset-max-ziplist-value:設置使用ziplist的值的最大長度


5:HyperLogLog 稀疏表示字節限制:這個限制包含了16個字節的頭部,當一個HyperLogLog使


用sparse representation,超過了這個限制,它就會轉換到dense representation上


(1)hll-sparse-max-bytes:設置HyperLogLog 稀疏表示的最大字節數


6:關因而否啓用哈希刷新的配置項:啓用哈希刷新,每100個CPU毫秒會拿出1個毫秒來刷新


Redis的主哈希表(頂級鍵值映射表),redis所用的哈希表實現採用延遲哈希刷新機制:


對一個哈希表操做越多,哈希刷新操做就越頻繁;反之,若是服務器是空閒的,那麼哈希


刷新就不會完成,哈希表就會佔用更多的一些內存而已。默認是每秒鐘進行10次哈希表刷


新,用來刷新字典,而後儘快釋放內存


(1)activerehashing:設置是否啓用哈希刷新,默認是yes


7:有關重寫aof的配置項:當一個子進程重寫AOF文件時,若是啓用下面的選項,則文件每生


成32M數據會被同步。爲了增量式的寫入硬盤而且避免大的延遲,這個指令是很是有用的


(1)aof-rewrite-incremental-fsync:默認是yes


8:關於客戶端輸出緩衝的控制項:可用於強制斷開那些由於某種緣由從服務器讀取數據的速度不夠快的客


戶端,一個常見的緣由是一個發佈/訂閱客戶端消費消息的速度沒法遇上生產它們的速度,能夠對三種


不一樣的客戶端設置不一樣的限制:


(1)normal:正常客戶端


(2)slave:slave和MONITOR 客戶端


(3)pubsub:至少訂閱了一個pubsub channel或pattern的客戶端


語法是:client-output-buffer-limit 《class》《hard limit》 《soft limit》 《soft 持續時間單位秒》


默認normal客戶端不作限制,由於他們在不主動請求時不接收數據;pubsub和slave客戶端會有


一個默認值;把硬限制和軟限制都設置爲0來禁用該功能,默認配置以下:


(1)client-output-buffer-limit normal 0 0 0


(2)client-output-buffer-limit slave 256mb 64mb 60


(3)client-output-buffer-limit pubsub 32mb 8mb 60


9:有關頻率的配置項:Redis調用內部函數來執行許多後臺任務,Redis依照指定的「hz」值來執行檢查任


務,默認狀況下,「hz」的被設定爲10。提升該值將在Redis空閒時使用更多的CPU時,但同時當有多個


key同時到期會使Redis的反應更靈敏,以及超時能夠更精確地處理。範圍是1到500之間,可是值超過


100一般不是一個好主意。大多數用戶應該使用10這個默認值,只有在很是低的延遲要求時有必要提升


到100


(1)hz:設置檢查任務的頻率

相關文章
相關標籤/搜索