redis使用基础
redis springboot常用命令
1 |
|
reids设置过期key监听事件
在redis命令行执行
config set notify-keyspace-events Ex
在java代码添加监听事件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
}
public void onMessage(Message message, byte[] pattern) {
// 处理接收到的消息
String channel = new String(message.getChannel());
String body = new String(message.getBody());
System.out.println("接收到来自通道 " + channel + " 的消息:" + body);
}
}等待过期,就会打印如下内容
1
2
3接收到来自通道 __keyevent@1__:expired 的消息:GATE:DEVICE:HEART:1725361717475983361
接收到来自通道 __keyevent@1__:expired 的消息:GATE:DEVICE:HEART:1728969231125295105
接收到来自通道 __keyevent@1__:expired 的消息:GATE:DEVICE:HEART:1726505401086349313
注意
reids重新设值会覆盖expireAt
过期时间的设置