
❑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过期提醒,实现订单自动取消等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)