网上说 事件过期后 缓存会常驻内存 除非再请求才会清楚
按照网上的某些提示 通过订阅 __keyevent@0__:expired 事件可以捕获消息
具体code
public void init() {
new Thread() {
public void run() {
RedisEventListener listener = new RedisEventListener();
logger.info("开始监听Redis事件......");
jedisPool.getResource().psubscribe(listener, "__keyevent@0__:expired");
}
}.start();
}
RedisEventListener
public class RedisEventListener extends JedisPubSub {
private static final Log logger = Logs.get();
// 取得订阅的消息后的处理
public void onMessage(String channel, String message) {
// System.out.println(channel + "=" + message);
logger.infof("收到redis事件onMessage:%s = %s", channel, message);
}
// 取得按表达式的方式订阅的消息后的处理
public void onPMessage(String pattern, String channel, String message) {
logger.infof("收到redis事件onPMessage:%s = %s = %s", pattern, channel, message);
}
}
有晓得这个问题的么