Redis-数据过期淘汰策略

为什么需要数据过期处理?

Redis经常被用来作为缓存数据库,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了,如果不进行处理,那么缓存数据堆积会导致内存泄漏,然后系统奔溃。

设置过期时间

SETEX(String key, int seconds, String value) \\字符串独有的方式
EXPIRE key seconds  //将key的生存时间设置为ttl秒
PEXPIRE key milliseconds  //将key的生成时间设置为ttl毫秒
EXPIREAT key timestamp  //将key的过期时间设置为timestamp所代表的的秒数的时间戳
PEXPIREAT key milliseconds-timestamp  //将key的过期时间设置为timestamp所代表的的毫秒数的时间戳

返回值

一个整数值1或0,如下:

  • 如果成功地为该键设置了超时时间,返回 1
  • 如果键不存在或无法设置超时时间,返回 0

TTL

该命令可以查看过期时间还剩下多少。

3种过期策略

定时删除

在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。

  • 优点:保证内存被尽快释放。
  • 缺点:若过期key很多,删除这些key会占用很多的CPU时间,在CPU时间紧张的情况下,CPU不能把所有的时间用来做要紧的事儿,还需要去花时间删除这些key。

惰性删除

key过期的时候不删除,每次从数据库获取key的时候去检查是否过期,若过期,则删除,返回null。

  • 优点:删除操作只发生在从数据库取出key的时候发生,而且只删除当前key,所以对CPU时间的占用是比较少的。
  • 缺点:若大量的key在超出超时时间后,再也没有被获取过,那么可能发生内存泄露。

定期删除

每隔一段时间执行一次删除(在redis.conf配置文件设置hz,1s刷新的频率)过期key操作。

  • 优点:通过限制删除操作的时长和频率,来减少删除操作对CPU时间的占用–处理"定时删除"的缺点,定期删除过期key–处理"惰性删除"的缺点。
  • 缺点:在内存友好方面,不如"定时删除";在CPU时间友好方面,不如"惰性删除"。
  • 难点:合理设置删除操作的执行时长(每次删除执行多长时间)和执行频率(每隔多长时间做一次删除)。

过期策略小结

  • 定时删除和定期删除为主动删除:Redis会定期主动淘汰一批已过去的key。
  • 惰性删除为被动删除:用到的时候才会去检验key是不是已过期,过期就删除。
  • 定期删除可以通过:
    • 第一、配置redis.conf 的hz选项,默认为10 (即1秒执行10次,100ms一次,值越大说明刷新频率越快,最Redis性能损耗也越大)。
    • 第二、配置redis.conf的maxmemory最大值,当已用内存超过maxmemory限定时,就会触发主动清理策略。

Redis使用的过期策略

惰性删除+定期删除

内存淘汰策略

通过设置 maxmemory 限制最大使用内存。超出限制时,根据redis提供的几种内存淘汰机制可以让用户自己决定如何腾出新空间以提供正常的读写服务。

机制说明
noeviction拒绝写操作, 读、删除可以正常使用。默认策略,不建议使用
allkeys-lru移除最近最少使用的key,最常用的策略
allkeys-random随机删除某个key,不建议使用
volatile-lru在设置了过期时间的key中,移除最近最少使用的key,不建议使用
volatile-random在设置了过期时间的key中,随机删除某个key,不建议使用
volatile-ttl在设置了过期时间的key中,把最早要过期的key优先删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过融合先进技术,如物联网、大数据、人工智能等,实现校园的智能化管理与服务。政策的推动和技术的成熟为智慧校园的发展提供了基础。该方案强调了数据的重要性,提出通过数据的整合、开放和共享,构建产学研资用联动的服务体系,以促进校园的精细化治理。 智慧校园的核心建设任务包括数据标准体系和应用标准体系的建设,以及信息化安全与等级保护的实施。方案提出了一站式服务大厅和移动校园的概念,通过整合校内外资源,实现资源共享平台和产教融合就业平台的建设。此外,校园大脑的构建是实现智慧校园的关键,它涉及到数据中心化、数据资产化和数据业务化,以数据驱动业务自动化和智能化。 技术应用方面,方案提出了物联网平台、5G网络、人工智能平台等新技术的融合应用,以打造多场景融合的智慧校园大脑。这包括智慧教室、智慧实验室、智慧图书馆、智慧党建等多领域的智能化应用,旨在提升教学、科研、管理和服务的效率和质量。 在实施层面,智慧校园建设需要统筹规划和分步实施,确保项目的可行性和有效性。方案提出了主题梳理、场景梳理和数据梳理的方法,以及现有技术支持和项目分级的考虑,以指导智慧校园的建设。 最后,智慧校园建设的成功依赖于开放、协同和融合的组织建设。通过战略咨询、分步实施、生态建设和短板补充,可以构建符合学校特色的生态链,实现智慧校园的长远发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值