Redis的內存調優

Redis 作爲目前主流的key-value 內存數據庫,因爲其高併發,存儲查詢速率快,我們很多的熱點數據均會存儲到Redis 中,如果數據量較大的話,昂貴的內存消耗也是一筆很大的支出,因此Redis 內存優化是很有必要的。

內存優化方式

1.關閉 Redis 的虛擬內存[VM]功能,即 redis.conf 中 vm-enabled = no

2. 設置內存上限

   設置 redis.conf 中 maxmemory ,用於告知 Redis 當使用了多少物理內存後拒絕繼續寫入的請求,可防止 Redis 性能降低甚至崩潰

3. 配置內存回收策略

Redis所用內存達到maxmemory上限時會觸發相應的溢出控制策略。具體策略受maxmemory-policy參數控制,Redis支持6種策略,

具體參考博客:https://blog.csdn.net/duan196_118/article/details/105148667

4. 鍵值對優化

降低Redis內存使用最直接的方式就是縮減鍵(key)和值(value)的長度。在完整描述業務情況下,鍵值越短越好。值對象縮減比較複雜,應該在業務上精簡業務對象,去掉不必要的屬性避免存儲無效數據。其次在序列化工具選擇上,應該選擇更高效的序列化工具來降低字節數組大小。

5. 編碼優化

Redis對外提供了多種數據類型,但是Redis內部對於不同類型的數據使用的內部編碼不一樣。內部編碼不同將直接影響數據的內存佔用和讀寫效率。

6. 在 Redis 的源代碼中有一行宏定義 REDIS-SHARED-INTEGERS = 10000 ,修改該值可以改變 Redis 存儲數值類型的內存開銷

小結至此,歡迎小夥伴留言。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章