zoukankan      html  css  js  c++  java
  • redis内存淘汰策略和过期删除策略

    -------redis内存淘汰策略-------

    no-evition -> 从不过期,内存不够时,在进行写入操作时,只返回错误
    allkeys-lru ->  从所有key中,根据lru算法,回收最近最少使用的key
    volatile-lru ->  从设置过期时间的key集合中,根据lru算法(最近最少用到)回收key
    volatile-lfu -> 从设置过期时间的key集合中,使用近似LFU算法,淘汰最不经常使用的key
    allkeys-lfu -> 从所有key中,使用近似LFU算法,淘汰最不经常使用的key
    volatile-random -> 从设置过期时间的key集合中,随机回收key
    allkeys-random -> 从所有key中,随机回收key
    volatile-ttl -> 从设置过期时间的集合中,删除最接近过期的key

    分为四类: LRU,LFU,ttl,random

    -------redis过期删除策略-------

    1,定时删除:在设置键的过期时间的同时,创建一个timer,让定时器在键的过期时间到达时,立即执行对键的删除操作。(主动删除)
    2,定期删除:每隔一段时间就对数据库进行一次检查,删除里面的过期键。(主动删除)
    3,惰性删除:放任过期键不管,但是每次从键空间中获取键时,都检查取到的键是否过期,如果过期就删除,如果没过期就返回该键。(被动删除)

  • 相关阅读:
    使用Docker搭建nginx环境
    使用Docker搭建apache环境
    字符编码-字库表,字符集,字符编码
    go中的sync.pool源码剖析
    JAVA基础语法
    Linux 文件目录管理
    c++ 学习之常用时间函数一览
    MySQL Innodb 中的锁
    MySQL 索引与 B+ 树
    MySQL 表分区操作详解
  • 原文地址:https://www.cnblogs.com/alenblue/p/13093865.html
Copyright © 2011-2022 走看看