首先需要开启notify-keyspace-events,将值设置为EX,直接连接redis后执行下面的代码即可
CONFIG SET notify-keyspace-events Ex
E:表示键过期事件通知。
x:表示键空间事件通知。
通过go-redis进行监听
// 订阅 Redis 键空间通知
pubsub := rdb.PSubscribe(ctx, "__keyevent@0__:expired")
// 确保在退出时关闭订阅
defer pubsub.Close()
// 启动一个 Goroutine 处理消息
go func() {
for msg := range pubsub.Channel() {
fmt.Printf("Key expired: %s\n", msg.Payload)
}
}()