编辑: 645135144 | 2013-04-18 |
12 键空间通知(keyspace notification) del 通知. SADD 产生一个 sadd 通知,即使有多个输入元素时,也是如此. SREM 产生一个 srem 通知,如果执行 SREM 之后,集合键被清空,那么还会产生一个 del 通知. SMOVE 为来源键(source key)产生一个 srem 通知,并为目标键(destination key) 产生一个 sadd 事件. SPOP 产生一个 spop 事件.如果执行 SPOP 之后,集合键被清空,那么还会产生一个 del 通知. SINTERSTORE 、 SUNIONSTORE 和 SDIFFSTORE 分别产生 sinterstore 、 sunionostore 和 sdiffstore 三种通知.如果用于保存结果的键已经存在,那么还会产 生一个 del 通知. ZINCRBY 产生一个 zincr 通知.(译注:非对称,请注意.) ZADD 产生一个 zadd 通知,即使有多个输入元素时,也是如此. ZREM 产生一个 zrem 通知,即使有多个输入元素时,也是如此.如果执行 ZREM 之后,有序集合键被清空,那么还会产生一个 del 通知. ZREMRANGEBYSCORE 产生一个 zrembyscore 通知.(译注:非对称,请注意.) 如果用于保存结果的键已经存在,那么还会产生一个 del 通知. ZREMRANGEBYRANK 产生一个 zrembyrank 通知.(译注:非对称,请注意.)如果 用于保存结果的键已经存在,那么还会产生一个 del 通知. ZINTERSTORE 和 ZUNIONSTORE 分别产生 zinterstore 和 zunionstore 两种通知. 如果用于保存结果的键已经存在,那么还会产生一个 del 通知. 每当一个键因为过期而被删除时,产生一个 expired 通知. 每当一个键因为 maxmemory 政策而被删除以回收内存时,产生一个 evicted 通知. Note 所有命令都只在键真的被改动了之后,才会产生通知. 比如说,当 SREM 试图删除不存在于集合的元素时,删除操作会执行失败,因为没有真正的 改动键,所以这一操作不会发送通知. 如果对命令所产生的通知有疑问, 最好还是使用以下命令, 自己来验证一下: $ redis-cli config set notify-keyspace-events KEA $ redis-cli --csv psubscribe '
__key*__:*'
Reading messages... (press Ctrl-C to quit) psubscribe , __key*__:* ,1 然后, 只要在其他终端里用 Redis 客户端发送命令, 就可以看到产生的通知了: pmessage , __key*keyspace@0__:foo , s........