一、使用背景
很多业务场景,例如订单过期自动删除,订单几天后自动好评,这些常用操作可以通过定时任务,数据库轮询做,但是订单量大的情况可能会对数据库产生大的压力。
二、Redis的key过期推送功能原理分析
Redis的key过期推送功能打开后,程序通过监听器(RedisKeyExpirationListener.java)监听到每个key过期的事件,再做相应处理。
三、打开Redis的key过期推送的正确方式
3.1 为什么要打开?
事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发,故需要开启 redis 的事件监听与发布。
3.2 如何打开?
可以改 redis.conf 文件 打开 notify-keyspace-events Ex 的注释,开启过期通知功能
比如,可以使用 config set notify-keyspace-events Exe
命令来打开 Redis 的 key 过期推送通知。
其中,Ex 表示所有事件都通知,e 表示只通知 key 过期事件。
执行该命令后,可以使用订阅类型的命