Redis 键空间事件通知的具体使用

 更新时间:2025年11月12日 10:47:27   作者:Hello.Reader  
本文系统解析Redis键空间通知机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 两类通知通道

通道含义消息载荷
__keyspace@<db>__:<key>键空间通知事件名称,如 del
__keyevent@<db>__:<event>键事件通知具体键名,如 mykey

可独立开启 K(Keyspace)或 E(Keyevent)前缀以精简流量。

2. 配置开关

# redis.conf 或命令行
CONFIG SET notify-keyspace-events "KEA"   # 常用:所有事件
CONFIG SET notify-keyspace-events "Kxg"   # 仅键空间 + 过期 + 通用写
  • 空字符串关闭;
  • 至少包含 K 或 E,否则实际不生效;
  • A= 全部写操作别名(g$lshztxed);m(miss)、n(new) 需显式添加。

3. 事件映射速查

  • DEL mykeydel
  • EXPIRE mykey 10expire
  • 键过期主动删除 → expired
  • 内存淘汰 → evicted
  • 新键写入 → new

所有命令仅在键实际变更时产生事件。

4. 监听示例

# 启用通知
redis-cli config set notify-keyspace-events KEA

# 终端 A:订阅全部
redis-cli --csv psubscribe '__key*__:*'

# 终端 B:测试
redis-cli set foo bar
redis-cli del foo

输出顺序保证:如 RPOPLPUSHrpoplpush

5. 过期事件时序

过期事件在 删除时 触发,而非 TTL=0 的瞬间。若键长期未被访问,实际触发可能延迟;后台过期线程同样异步删除。

6. 集群注意事项

通知仅在持有目标分片的节点产生,不会广播。想监听全局事件需对每个节点建立订阅连接。

7. 最佳实践

  1. 按需开启,避免 "KEA" 带来的高频流量与 CPU 消耗;
  2. 业务只需 DEL/EXPIRE,可用 "Kx"
  3. 使用模式订阅结合前缀过滤减少客户端解析压力;
  4. 消费端应异步处理,防止阻塞 Pub/Sub 读循环;
  5. 生产环境监控 notify-keyspace-events 配置变更,防止误关停导致监听失效。

通过合理使用键空间事件通知,可轻松实现本地缓存失效、数据链路审计与实时指标上报等场景,提升系统一致性与可观测性。

到此这篇关于Redis 键空间事件通知的具体使用的文章就介绍到这了,更多相关Redis 键空间事件通知内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Centos7下Redis3.2.8最新版本安装教程

    Centos7下Redis3.2.8最新版本安装教程

    这篇文章主要为大家详细介绍了Centos7下Redis3.2.8最新版本的安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Redis内存管理之BigKey问题及解决过程

    Redis内存管理之BigKey问题及解决过程

    文章全面解析了Java中Redis BigKey问题,涵盖定义、危害(内存不均、持久化阻塞等)、检测方法(内置工具与自定义扫描)、处理策略(分治拆分、渐进删除)及开发规范,结合案例与AI监控优化方案,提出系统化应对措施,保障Redis高性能运行
    2025-07-07
  • 解决Redis报错MISCONF Redis is configured to save RDB snapshots

    解决Redis报错MISCONF Redis is configured to save RDB snap

    这篇文章主要给大家介绍了关于如何解决Redis报错MISCONF Redis is configured to save RDB snapshots的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 浅谈redis的过期时间设置和过期删除机制

    浅谈redis的过期时间设置和过期删除机制

    本文主要介绍了redis的过期时间设置和过期删除机制,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Redis高可用梳理详解

    Redis高可用梳理详解

    高可用的本质是有备份,在出现故障的时候,有backup可以提供服务,本文详细介绍了Redis的高可用,感兴趣的同学可以参考阅读
    2023-05-05
  • 搭建单机Redis缓存服务的实现

    搭建单机Redis缓存服务的实现

    本文主要介绍了搭建单机Redis缓存服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Redis 在真实世界的 5 个用法

    Redis 在真实世界的 5 个用法

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API这篇文章主要介绍了Redis 在真实世界的 5 个用法,需要的朋友可以参考下
    2018-03-03
  • Redis 哨兵机制及配置实现

    Redis 哨兵机制及配置实现

    本文主要介绍了Redis 哨兵机制及配置实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 详解redis在服务器linux下启动的相关命令(安装和配置)

    详解redis在服务器linux下启动的相关命令(安装和配置)

    这篇文章主要介绍了redis在服务器linux下的启动的相关命令(安装和配置),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • muduo源码分析之TcpServer模块详细介绍

    muduo源码分析之TcpServer模块详细介绍

    这篇文章主要介绍了muduo源码分析之TcpServer模块,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论