zoukankan      html  css  js  c++  java
  • 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  不删除,直接对写命令返回错误
  • 相关阅读:
    Java String 乱码
    HBase非原理性浅析
    git cherry-pick
    数据结构之队列
    数据结构之栈
    算法之简单排序
    数据结构之数组
    数据结构简介
    Java类型信息
    基数排序
  • 原文地址:https://www.cnblogs.com/renzherushe/p/4779524.html
Copyright © 2011-2022 走看看