如何在DragonflyDB中开启过期键的键空间事件通知?
在Docker中为DragonflyDB开启键过期事件通知
你遇到的问题是因为参数传递方式和CONFIG命令格式错误,以下是正确的操作方法:
方法1:通过Docker启动命令直接指定参数
DragonflyDB的启动参数需要放在镜像名称之后,而非作为docker run的选项。正确命令如下:
docker run -p 6379:6379 --ulimit memlock=-1 docker.dragonflydb.io/dragonflydb/dragonfly --notify-keyspace-events Ex
解释:--notify-keyspace-events Ex是DragonflyDB自身的启动参数,必须放在镜像名后,才会被容器内的Dragonfly进程识别。
方法2:通过redis-cli动态修改配置
使用CONFIG SET命令时不需要在参数名前加--,正确格式为:
CONFIG SET notify-keyspace-events Ex
执行后可通过以下命令验证配置是否生效:
CONFIG GET notify-keyspace-events
若返回1) "notify-keyspace-events" 2) "Ex",则说明配置已成功设置。
验证事件通知
配置生效后,可通过订阅频道测试键过期事件:
SUBSCRIBE __keyevent@0__:expired
在另一个终端设置带过期时间的键:
SET testkey "value" EX 2
等待2秒后,订阅终端会收到该键的过期事件通知。
内容的提问来源于stack exchange,提问作者Svoby
相关产品推荐
相关产品推荐

