本章重點回顧
-
Linux相關優化:
vm.overcommit_memory建議為1。
Linux>3.5,vm.swappiness建議為1,否則建議為0。
Transparent Huge Pages(THP)建議關閉掉,但需要注意Linux發行版本改變了THP的配置位置。
可以為Redis進程設置oom_adj,減少Redis被OOM killer殺掉的概率,但不要過度依賴此特性。
建議對Redis所有節點所在機器使用NTP服務。
設置合理的ulimit保證網絡連接正常。
設置合理的tcp-backlog參數。
理解Redis的持久化有助于解決flush操作之后的數據快速恢復問題。
-
Redis安全建議
根據具體網絡環境決定是否設置Redis密碼。
rename-command可以偽裝命令,但是要注意成本。
合理的防火墻是防止攻擊的利器。
bind可以將Redis的訪問綁定到指定網卡上。
定期備份數據應該作為習慣性操作。
可以適當錯開Redis默認端口啟動。
使用非root用戶啟動Redis。
bigkey的危害不容忽視:數據傾斜、超時阻塞、網絡擁塞,可能是Redis生產環境中的一顆定時炸彈,刪除bigkey是通常使用漸進式遍歷的方式,防止出現Redis阻塞的情況。
通過客戶端、代理、monitor、機器抓包四種方式找到熱點key,這幾種方式各具優勢,具體使用哪種要根據當前場景來決定。