MySQL里有2000w數據,redis中只存20w數據,如何保證redis中數據都是熱點數據


計算20w的熱點數據占據內存的大小。然后在Redis中,配置最大內存容量,在redis.conf文件maxmemory <bytes>標簽中配置。
當redis內存數據大小上升到一定大小的時候,就會施行數據淘汰策略。
Redis中提供了6中數據淘汰策略:
1.volatitle-lru 從設置了過期時間的數據集中,選擇最近最少使用的數據刪除
2.volatitle-ttl 從設置了過期時間的數據集中,選擇將要過期的數據刪除
3.volatitle-random 從設置了過期時間的數據中,隨機選擇數據進行刪除
4.Allkeys-lru 從數據集中挑選最近最少使用的數據刪除
5.Allkeys-random 從數據集中隨機挑選數據進行淘汰
6.no-enviction(驅逐):禁止淘汰數據
因為我們的應用保存熱點數據,也就是對緩存的訪問符合冪律分布,所以應該選擇Allkeys-lru淘汰策略。存放熱點數據,不能為數據設置過期時間,設置過期時間也會占用內存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM