Windows开启redis键空间通知

538 阅读1分钟

一、背景

在做一个支付订单的CASE,需要对订单进行限定时间内支付,到期未完成支付则该订单失效,商品退库处理。

二、方案

这种案例很适合使用redis的keyspace notification键空间通知功能

键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件。

可以通过对redis的redis.conf文件中配置notify-keyspace-events参数可以指定服务器发送哪种类型的通知。下面对于一些参数的描述。默认情况下此功能是关闭的。

image.png

三、开启键空间通知的两种方式

  • 修改配置文件

image.png

  • 命令行修改
//命令行开启键值空间通知
config set notify-keyspace-events KEA
//接收所有订阅事件
psubscribe '__key*__:*'
//监听数据库为0的订阅过期事件
psubscribe __keyevent@0__:expired

四、监听订阅过期事件

  1. 命令行开启键值空间通知

image.png

  1. 监听数据库为0的订阅过期事件 image.png

  2. 设置key值为name值为lisi的数10秒钟过期 image.png

4.10秒钟过去之后,监听事件则接到通知

image.png