在实现订单取消的时候需要考虑到订单倒计时,此时就得使用redis监听订单取消,设置如下:
config set notify-keyspace-events Ex
这一步确保redis能够监听到过期的key,Ex也就是过期的意思。
127.0.0.1:6379> subscribe __keyevent@0__:expired
//订阅该频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "__keyevent@0__:expired"
3) (integer) 1
要说一下:__keyevent@0__
这里的0是第几个数据库,如果监听的是第二个数据库就改为1。
接下来就在另一个控制台设置会过期的key
127.0.0.1:6379> setex ed 5 us
OK
5秒后就可以看到发布在频道里的过期的key:
127.0.0.1:6379> subscribe __keyevent@0__:expired
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "__keyevent@0__:expired"
3) (integer) 1
1) "message"
2) "__keyevent@0__:expired"
3) "ed"