https://github.com/rustd/RedisSamples/blob/master/HelloWorld/KeySpaceNotifications.cs
懂的可以直接看上面官方提供的demo代码就明白怎么用了
Auzre上面需要设置keyspace notifications with "Kxg"
然后在项目启动的时候订阅,比如使用的是Nancy,就在Boostrapper启动里加上订阅程序
个人示例代码:
var db = CacheManager.Connection.GetDatabase(); var subscriber = CacheManager.Connection.GetSubscriber(); subscriber.Subscribe("__keyspace@0__:*", async (channel, value) => { if (value.Equals("expired")) await CacheExpire.keyExpire(channel); });
这里我只做了缓存过期的处理,所以只判断了expired
CacheExpire.keyExpire(channel)里面,将channel传过去,是为了得到当前过期的key,从而进行后续处理