首页 > 数据库 >Redis淘汰策略-231005

Redis淘汰策略-231005

时间:2023-10-10 12:14:03浏览次数:64  
标签:写入 使用 Redis 内存 移除 231005 淘汰 数据

Redis的内存淘汰策略有哪些:

    • noeviction:当内存不足以容纳新写入数据时,新写入操作会报错;
    • allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。(这个是最常用的);
    • allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。设置过期时间的键空间选择性移除;
    • volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key;
    • volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key;
    • volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除

 

lru和lfu是什么意思?


LRU是Least Recently Used的缩写,表示最近最少使用算法。它是一种缓存淘汰策略,用于在缓存空间不足时决定将哪些数据从缓存中淘汰出去。LRU算法会优先淘汰最近最少被访问的数据,即最长时间未被使用的数据。这种策略的优势在于,如果某个数据最近没有被使用过,那么很可能在将来也不会被使用到,因此可以优先将其淘汰,腾出空间给更有可能使用的数据。

LFU则是Least Frequently Used的缩写,表示最不经常使用算法。LFU是另一种缓存淘汰策略,它根据数据被访问的频率来决定淘汰哪些数据。LFU算法会优先淘汰访问频率最低的数据,即最少被使用的数据。这种策略的优势在于,如果某个数据使用频率很低,那么它在将来的使用可能性也较小,因此可以优先将其淘汰,为更有可能被使用的数据腾出空间。

所以,LRU和LFU都是常见的缓存淘汰策略,但侧重点略有不同。LRU注重的是最近的使用情况,而LFU则更注重的是数据的频率使用情况。

 

标签:写入,使用,Redis,内存,移除,231005,淘汰,数据
From: https://www.cnblogs.com/qdcream/p/17743062.html

相关文章

  • redis集群方案有哪些
       ......
  • Redis事务和持久化
    Redis事务处理流程Redis服务器接受客户端命令检查客户端是否处于事务状态是,则将命令放入事务队列中向客户端返回QUEUED字符串(表示命令已入事务列队)否,则直接执行命令向客户端返回命令执行结果Redis事务错误调用EXEC之前的错误(语法错误/事务回滚)......
  • 分布式锁-实现原理(setnx,redisson)
         ......
  • 利用Redis生成实时排行榜
            ......
  • Redis 数据类型
    Redis数据类型---String数据类型----概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等SET/GET/APPEND/STRLEN:redis127.0.0.1:6379>existsmykey#判断该键......
  • SpringBoot之使用Redis和注解实现接口幂等性
    目录1接口幂等性1.1概念1.2实现思路1.3代码实现1.3.1pom1.3.2JedisUtil1.3.3自定义注解@ApiIdempotent1.3.4ApiIdempotentInterceptor拦截器1.3.5TokenServiceImpl1.3.6TestApplication1.4测试验证1.4.1获取token的控制器TokenController1.4.2TestController1.5注意......
  • redis 常用命令
    #查看版本号redis-server--version#连接redisredis-cli -h 10.10.1.1#登陆后查看信息10.10.1.1:6379>infoserver10.10.1.1:6379>inforedis有16个初始化库,编号0到15,默认使用0号库切换到1号库;>select1#查看当前库的key的数量>dbsize#删除当前库的全部数据>flushd......
  • wsl 部署php8.1+swoole+redis
    1.开启wsl2.apt换源sudomv/etc/apt/sources.list/etc/apt/sources.list.bak&&sudovim/etc/apt/sources.listdebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/jammymainrestricteduniversemultiversedebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/......
  • redis cluster增加和移除主从节点【转】
    Redis-Cluster集群之Cluster节点增减上篇我们了解了Redis的cluster集群的搭建,现在我们来说一下cluster集群的节点的增减集群增加主节点1.新建一个7006的一个节点,让其作为一个新的主节点加入,在/redis-cluster目录下,新建一个7006目录,配置相应的配置文件和数据目录,启动7006这个节......
  • SpringBoot+RabbitMQ+Redis 开发一个秒杀系统,细节打满(附源码)
    一、简易版秒杀SeckillProject系统简介开发技术二、实现细节记录1、用户密码两次MD5加密2、分布式session维持会话3、异常统一处理4、页面缓存+对象缓存5、页面静态化6、内存标记+Redis预减库存+RabbitMQ异步处理7、解决超卖8、接口限流三、效果展......