Redis的事件通知通过发布/订阅模式来实现的。

事件通知分为两种: keyspacekevevent

keyspace称为键空间通知,格式为 __keyspace@DB__:KeyPattern  ;  keyevent称为键事件通知,格式为 __keyevent@DB__:OpsType   。

DB表示第几个库,KeyPattern表示键模式(可以使用通配符),OpsType表示操作类型。

要想Reddis事件通知启用,需要设置redis.conf中的 notify-keyspace-events 参数,该参数是以下字符的任意组合,但至少有一个K或E。

字符 说明
K 键空间通知(__keyspace@DB__:KeyPattern)
E 键事件通知(__keyevent@DB__:OpsType)
g 无关类型的通用命令的通知,如DEL\EXPIRE\RENAME
$ 字符串命令的通知(String)
l 列表命令的通知(List)
s 集合命令的通知(Set)
h 哈希命令的通知(Hash)
z 有序集合命令的通知(Sorted Set)
x 过期事件的通知(每当有键超时过期被删除时发送)(Expired events)
e 驱逐事件命令的通知(每当有键因 maxmemory 而被删除时发送)(Evicted events)
A 字符组合 g$lshzxe  的别名( “AKE”就表示所有字符)

对每个数据的操作,键空间通知都会发出两种不对类型的事件。如对 0号库的键为 mykey 执行 DEL mykey时,Reids将发送两条消息,相当于执行了两次pub命令:

PUBLISH __keyspace@0__:mykey  del
PUBLISH __keyevent@0__:del    mykey

对键空间通知来说,可以接收 0号库中对键 mykey 所做的所有事件

对键事件通知来说,可以接收 0号库中执行了 del 命令的所有键

Redis的事件通知相关推荐

  1. java redis 通知_Jboot实现Redis操作事件通知

    redis.conf notify-keyspace-events Ex KeyExpiredListener.java public class KeyExpiredListener extends ...

  2. windows事件id大全_技术转载 || springboot+redis做过期事件通知业务

    我的业务场景 系统管理员要给维护员分配巡查路口设施的工作,由于路口比较多,管理员不知道哪些路口已经被分配了,况且过了一个时间周期后,所有的路口要再次被巡查. 思路 我建立了一个表,里面是所有路口和是否 ...

  3. 大神教你实现redis键空间通知

    最近在开发一个定时活动,而且活动是多个场次的.这个是后就需要在活动开始的时候推送信息给客户端,结束的时候也要推送一次.简单的设计方案就是将配置缓存在redis,然后每隔一秒就轮询reids,获取配置信 ...

  4. redis的数据库通知(notify-keyspace-events)

    redis的数据库通知(notify-keyspace-events) 共分为两类:一类是键空间通知 另一类是键事件通知 概述 数据库通知是redis在2.8之后新增的功能,让客户端可以已发布/订阅模 ...

  5. PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...

    源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...

  6. 一文解密 Netflix 的快速事件通知系统是如何工作的

    Netflix 拥有超过 2.2 亿活跃会员,他们会使用各种功能执行大量操作.近乎实时地对这些操作做出反应以保持跨设备的体验一致,这对于确保最佳会员体验至关重要.考虑到支持的设备种类繁多以及会员执行的 ...

  7. 监听Redis Key事件

    文章目录 1.使用场景 2.使用 开启 redis 的事件监听与发布 Springboot集成 1.使用场景 处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态. 注意:只能适用于单机red ...

  8. redis的事件模型详解(结合Reactor设计模式)

    文章基于redis-4.0.1源码详细介绍一下redis的事件模型. 一.redis事件模型概览 redis是一个事件驱动的服务程序,在redis的服务程序中存在两种类型的事件,分别是文件事件和时间事 ...

  9. Redis键空间通知(Keyspace Notifications)

    Redis Keyspace Notifications https://redis.io/topics/notifications Redis 是一个键值对数据库服务器,服务器中每个数据库都由 re ...

最新文章

  1. namenode如何存储复本?
  2. 【线上分享】超分辨技术在RTC领域面临的机遇与挑战
  3. jet mysql连接字符串,关于jet db的连接字串,以及加密后的字串-数据库专栏,SQL Server...
  4. 更灵活的定位内存地址的方法02 - 零基础入门学习汇编语言33
  5. python 连续等于
  6. mysql全套基础知识_mysql系列--基础知识
  7. 用nunit时,老是搞忘英文,在这里记录一下,方便到处查阅
  8. 工业机器人技术基础及其应用总结
  9. matlab 非线性动力系统 极限环,非线性动力系统混沌运动的Matlab数值模拟.doc
  10. javamail 超时_为什么JavaMail连接超时过长
  11. 女朋友都看得懂的服务器搭建(纯小白超详细图文教程,阿里云服务器搭建)
  12. xshell修改服务器登录密码
  13. Pr 入门教程如何修改过渡效果设置?
  14. 架构漫谈(一):什么是架构? -王概凯 - 转
  15. widowns上从chrome上抓取图片
  16. 【Javascript】【视频录制】通过video标签和canvas实现视频截图录制和下载
  17. 单页面系统知识点记录
  18. Http status code 状态码
  19. 给hacke拨乱反正 黑客、红客、蓝客究竟是什么
  20. 通过Python分析2020年全年微博热搜数据

热门文章

  1. PHP7底层源码,作为一个php程序员,你必须学习!
  2. cesium加载geoserver中发布的地图
  3. 【Nginx】将您重定向的次数过多
  4. Pyinstaller打包exe(包括打包资源文件 绝不出错版)
  5. c程序设计语言的opds书源,新编汇编语言程序设计四五章习题参考解答.doc
  6. QGIS最受欢迎的20个插件
  7. Linux c语言sleep多线程while循环实验
  8. excel批量导入多张图片并整齐排列
  9. 【封装UI组件库】手把手教你仿一下Element-ui的Button组件(发布至npm)
  10. 设计师职场:在公司如何写好你的电子邮件