redis设置键的过期时间

redis设置键的过期时间,第1张

❑EXPIRE<key><ttl>命令用于将键key的生存时间设置为ttl秒。

❑PEXPIRE<key><ttl>命令用于将键key的生存时间设置为ttl毫秒。

❑EXPIREAT<key><timestamp>命令用于将键key的过期时间设置为timestamp所指定的秒数时间戳。

❑PEXPIREAT<key><timestamp>命令用于将键key的过期时间设置为timestamp所指定的毫秒数时间戳。

例如

Redis可以用使用 expire 指令设置过期时间,在Redis内部,每当我们设置一个键的过期时间时,Redis就会将该键带上过期时间存放到一个过期字典中。当我们查询一个键时,Redis便首先检查该键是否存在过期字典中,如果存在,那就获取其过期时间。然后将过期时间和当前系统时间进行比对,比系统时间大,那就没有过期;反之判定该键过期。

那对于过期数据,一般有三种方式进行处理:

Redis的过期删除策略: 惰性删除 定期删除 两种策略配合使用。

spring-boot-starter-data-redis 包中提供了监听过期的类,对于key过期,需要得到通知,做业务处理的,可以做此监听。

springboot整合Redis参考, SpringBoot整合Redis - (jianshucom)

在整合Redis的基础上,在新加监听配置

监听配置类

监听类

将Redis用作缓存时,如果内存空间用满,就会自动驱逐老的数据。

Redis中有6种淘汰策略:

redisconf 文件中配置策略,有2个地方:

处理订单下单后30分钟未付款自动取消

利用redis中key自动过期机制,提交订单时将订单编号写入redis,并设置30分钟的过期时间,当订单过期后,取到过期的key然后做业务处理。

再开启一个客户端放置一个测试的过期数据

第一个客户端能够收到消息

这样就实现了订单自动取消的功能。同理可以使用到发货后14天后自动确认到货。

//向redis里存入数据和设置缓存时间

//val做-1 *** 作 

//根据key获取缓存中的val 

//val +1 

//根据key获取过期时间 

//根据key获取过期时间并换算成指定单位 

//根据key删除缓存 

//检查key是否存在,返回boolean值 

//向指定key中存放set集合 

//设置过期时间 

//根据key查看集合中是否存在指定数据 

//根据key获取set集合 

//验证有效时间

以上就是关于redis设置键的过期时间全部的内容,包括:redis设置键的过期时间、Redis过期删除策略和内存淘汰策略、redis key过期提醒,实现订单自动取消等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9773952.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存