docker部署redis使用键空间通知订阅

1. redis的键空间通知(keyspace notification) 大概意思是比如时间删除 或者 过期的时候发布的一个通知。通过一个通知来发布或修改一个状态。通常理解为 pub/sub(发布/订阅)。

键空间通知有两种类型key-space , key-event, 可以理解为key-space对应事件本身。比如del删除事件。 key-event是事件的名字name。

关于在配置消息订阅的命令,可查看redis.conf配置文件。如下

notify-keyspace-events 是 Redis 配置选项之一,用来设置哪些事件会触发通知(例如:键的过期、删除、修改等)。这个配置项通常会设置为一个包含特定字母的字符串,表示要订阅的事件类型。

各个字母表示的事件如下:K:键的操作(如 set, del 等)。
E:键的过期事件。
A:所有事件。
g:字符串命令(例如 get)。
x:删除的事件。

 2. 使用docker部署redis是没有redis.conf的配置文件的。需要下载redis.conf配置文件

http://download.redis.io/redis-stable/redis.conf

由于是win10系统, 把下载好的配置文件放到适合的目录中,然后开始notify-keyspace-events

把配置文件中的notify-keyspace-events前的注销#删掉,设置为:

启用键空间的过期通知和删除通知
notify-keyspace-events "Ex"

3. docker 部署

docker run -d -p 6379:6379 --name redis -v D:/redis/redis.conf:/usr/local/etc/redis/redis.conf redis:latest redis-server /usr/local/etc/redis/redis.conf
这条命令执行的步骤如下:-d:后台运行容器。
-p 6379:6379:将容器的 6379 端口映射到宿主机的 6379 端口。
--name redis:给容器指定名称为 redis。
-v D:/redis/redis.conf:/usr/local/etc/redis/redis.conf:将宿主机的 D:/redis/redis.conf 配置文件挂载到容器中的 /usr/local/etc/redis/redis.conf。
redis:latest:使用 redis:latest 镜像。
redis-server /usr/local/etc/redis/redis.conf:通过 redis-server 启动 Redis 服务,指定配置文件 /usr/local/etc/redis/redis.conf。

启动成功后,可以查看docker logs redis日志是否启动成功。

4. 查看redis容器中的配置文件, 进入容器内部检查配置文件是否正确

docker exec -it redis /bin/bash
cat /usr/local/etc/redis/redis.conf

 在powershell中

或者输入 

docker exec -it redis redis-cli

 输入: 是否开启成功了。

CONFIG GET notify-keyspace-events

5. 以上过程就是发布的,现在开始设置订阅,检查事件是否生效。

另开多一个powershell。观察键过期的通知, 使用PSUBSCRIBE订阅键空间事件通知:

127.0.0.1:6379> PSUBSCRIBE __keyevent@0__:expired

 截图如下:表示正在监听

在另一个powershell中,设置一个键的过期事件,10秒之后,在上一个powershell能监听到

127.0.0.1:6379> SET mykey "some value" EX 10

 

 说明配置已经成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/63645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(堆) 优先队列(堆)的简单实现

文章目录 🏔️堆是什么?🏔️C 标准库🏔️手动实现⛰️原理简介⛰️C⛰️C语言 ⭐END🌟交流方式 🏔️堆是什么? 堆简介 - OI Wiki 堆是一棵树,其每个节点都有一个键值,且…

【EXCEL】 获取多列中 不为空的那一个数据

从多个表格筛选出来的上班时间是下表这样的 我要把他们放在同一列,这样方便后续处理,合并列输入下面这个公式即可 日期不加 TEXT() 函数 转日期格式;将得到是一串数字 TEXT(TEXTJOIN(", ",TRUE,B2:F2),&qu…

springboot+Loki+Loki4j+Grafana搭建轻量级日志系统

文章目录 前言一、日志组件介绍 1.1 Loki组件1.2 Loki4j组件1.3 Grafana 二、组件下载安装运行 Loki下载安装运行Grafana下载安装运行 三、创建springboot项目总结 前言 日志在任何一个web应用中都是不可忽视的存在,它已经成为大部分系统的标准组成部分。搭建日志…

自然语言处理:从入门到精通全指引

一、引言 自然语言处理(NLP)作为人工智能领域的关键分支,旨在让计算机理解、生成和处理人类语言,近年来取得了令人瞩目的成就,在智能客服、机器翻译、文本分析、语音助手等众多领域发挥着重要作用。从入门到精通自然语…

opencvocr识别手机摄像头拍摄的指定区域文字,文字符合规则就语音报警

安装python,pycharm,自行安装。 Python下安装OpenCv 2.1 打开cmd,先安装opencv-python pip install opencv-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple2.2 再安装opencv-contrib-python pip install opencv-contrib-python --user …

智能时代网络空间认知安全新观察

文章目录 前言一、历史上的四次认知革命二、人工智能革命掀起认知安全新浪潮三、人工智能技术塑造认知安全新范式四、人工智能治理应对认知安全新思考 前言 12月5日,在2024第三届北外滩网络安全论坛上以“智能时代网络空间认知安全新观察”为主题作主旨演讲&#x…

【Python标准库】subprocess

1. subprocess是什么? 输入终端命令进行操作 2.用法 run() 作用:创建新的进程执行外部命令,并等待它们完成​​​​​​​语法:run([command, arg1, arg2], capture_output=True, text=True,check,timeout) [command, arg1, arg2], 是单独运行的命令和参数,作为列表来处…

springboot417社区疫情管理系统-(论文+源码)_kaic

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统社区疫情管理系统信息管理难度大,容错率低&a…

信创国产化时代:打造安全高效的信创网站解决方案

在全球科技竞争日益激烈的背景下,信创国产化已经成为中国信息技术领域的重要战略选择。信创国产化,即信息技术应用创新与国产化,旨在通过自主研发和创新,推动核心技术的国产化,减少对外部技术的依赖,确保国…

day10性能测试(2)——Jmeter

【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、LoadRunner vs Jmeter 1.1 LoadRunner 1.2 Jmeter 1.3 对比小结 2、Jmeter 环境安装 2.1 安装jdk 2.2 安装Jmeter 2.3 小结 3、Jmeter 文件目录结构 4、Jmeter默认配置修改 5、Jmeter元件、组…

可造成敏感信息泄露!Spring Boot之Actuator信息泄露漏洞三种利用方式总结

1.介绍 Spring Boot是一个基于Spring的套件,它提供了一个即开即用的应用程序架构,可以简化Spring应用的创建及部署流程,帮助开发者更轻松快捷地构建出企业及应用。 Spring Boot项目中Actuator模块提供了众多HTTP接口端点(Endpoi…

KV Shifting Attention Enhances Language Modeling

基本信息 📝 原文链接: https://arxiv.org/abs/2411.19574👥 作者: Mingyu Xu, Wei Cheng, Bingning Wang, Weipeng Chen🏷️ 关键词: KV shifting attention, induction heads, language modeling📚 分类: 机器学习, 自然语言处…

MongoDB-固定集合(Capped Collection)

在 MongoDB 中,固定集合(Capped Collection)是一种具有特殊属性的集合。固定集合具有一个固定的最大大小,并且一旦达到该大小时,最早插入的文档将会被自动删除,以便为新的文档腾出空间。固定集合的这种特性…

力扣 螺旋矩阵-54

螺旋矩阵-54 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int m matrix.size(),n matrix[0].size();//数组的行列大小int top0,downm-1,left 0,right n-1;//分别为矩阵上下左右的边界int index 0;//存放结果数…

设计模式——单例模式和工厂模式

单例模式:一个类只创建一个类对象&#xff08;节省内存减少类对象数量,一个类对象多次重复使用&#xff09; 格式: class a: pass ba() z1b z2b #z1和z2为同一个类对象 工厂模式&#xff1a;&#xff08;大批量创建具体的类对象,统一类对象入口便于维护&#xf…

【el-dialog关闭前重置表单】

el-dialog关闭前重置表单 问题描述区别解释 问题描述 el-dialog的before-close能接收一个回调函数&#xff0c;在对话框关闭前执行需要的动作&#xff0c;例如我需要的是重置对话框中的表单。 如果只有一个对话框&#xff0c;或者说回调函数不需要额外参数&#xff0c;那么对话…

Unity教程(十九)战斗系统 受击反馈

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

从感知到认知:解读人工智能技术的核心突破

引言&#xff1a;感知与认知的人工智能之旅 人工智能的演进历程&#xff0c;就像人类的成长过程&#xff0c;从最初学会“看”“听”“感知”这个世界&#xff0c;到逐渐具备“理解”“推理”和“决策”的能力。这两个阶段——感知与认知&#xff0c;不仅是人工智能的技术核心&…

文生图模型开源之光!ComfyUI - AuraFlow本地部署教程

一、模型介绍 AuraFlow 是唯一一个真正开源的文生图模型&#xff0c;由Fal团队开源&#xff0c;其代码和权重都放在了 FOSS 许可证下。基于 6.8B 参数优化模型架构&#xff0c;采用最大更新参数化技术&#xff0c;还重新标注数据集提升指令遵循质量。在物体空间和色彩上有优势…

SpringMVC ——(1)

1.SpringMVC请求流程 1.1 SpringMVC请求处理流程分析 Spring MVC框架也是⼀个基于请求驱动的Web框架&#xff0c;并且使⽤了前端控制器模式&#xff08;是⽤来提供⼀个集中的请求处理机制&#xff0c;所有的请求都将由⼀个单⼀的处理程序处理来进⾏设计&#xff0c;再根据请求…