Redis作缓存

缓存策略三要素:缓存命中率   缓存更新策略  最大缓存容量。衡量一个缓存方案的好坏标准是:缓存命中率。缓存命中率越高,缓存方法设计的越好。 

三者之间的关系为:当缓存到达最大的缓存容量时,会触发缓存更新策略,而缓存更新策略影响到了缓存命中率。可见,缓存方案的好坏依赖于缓存最大量的设置,以及缓存更新策略的选择。

 对于经常变动的数据,不适合做缓存。对于静态、读写比高(一般10:1以上)的数据做缓存。

常见的缓存更新策略有:

1 FIFO 队列,先进先出,典型应用:MySQL的 query cache,采用的就是这种简单的缓存更新策略

2 LFU:最少使用 ,借助计数器实现

3 LRU:最久未被使用,借助计数器和队列实现

 对于Redis,当达到maxmemory时,采用什么策略删除key,有五个可选项可根据应用场景进行选择:

volatile-lru 采用LRU算法删除带有expire的key(默认)
allkeys-lru  采用LRU算法删除任意key
volatile-random 任意删除带有expire的key
allkeys-random  删除任意key
volatile-ttl 删除最接近expire的key
noeviction  不删除,直接对写命令返回错误

posted on 2015-09-02 21:56  福生  阅读(221)  评论(0编辑  收藏  举报

导航