上一講介紹了緩存滿了,經過內存淘汰機制來淘汰掉數據。若是有的數據一直滯留在緩存中,但又沒有應用使用,時間長了,就可能會佔據大部分的緩存空間。html
今天咱們來學習一下緩存污染,以及如何解決緩存污染。算法
緩存污染,指留存在緩存中的數據,實際不會被再次訪問了,但又佔據了緩存空間。緩存
要解決緩存污染的關鍵點是能識別出只訪問一次或者訪問次數不多的數據。dom
從可否解決緩存污染這一維度來分析Redis的8種緩存淘汰策略:學習
關於LRU和LFU算法的內容,點擊查看系列的第2講。優化
緩存淘汰策略 | 解決緩存污染 |
---|---|
noeviction策略 | 不能 |
volatile-ttl策略 | 能 |
volatile-random策略 | 不能 |
volatile-lru策略 | 不能 |
volatile-lfu策略 | 能 |
allkeys-random策略 | 不能 |
allkeys-lru策略 | 不能 |
allkeys-lfu策略 | 能 |