計算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淘汰策略。存放熱點數據,不能為數據設置過期時間,設置過期時間也會占用內存。