Redis辅助功能

一、Redis队列

 1.1、订阅 subscribe ch1 ch2

1.2 publish:发布消息 publish channel message

 1.3 unsubscribe: 退订 channel

1.4  模式匹配 psubscribe ch*

模糊发布,订阅,退订, p* <channelName>

1.5 发布订阅原理

订阅某个频道或模式:
客户端 (client) :
pubsub_channels,该属性表明了该客户端订阅的所有频道;
pubsub_patterns,该属性表示该客户端订阅的所有模式;
服务器端 (RedisServer) :
pubsub_channels,该服务器端中的所有频道以及订阅了这个频道的客户端;
pubsub_patterns,该服务器端中的所有模式和订阅了这些模式的客户端; 

二、Redis事务

2.1 redis事务说明

 2.2 redis事务命令

事务处理:watch key 的值改变,引起另外一个线程修改key事务失败。

 2.3 redis事务执行

2.3.1 事务开始(multi)
在RedisClient中,有属性flags,用来表示是否在事务中flags=REDIS MULTI
2.3.2 命令入队(watch {key})
RedisClient将命令存放在事务队列中(EXEC,DISCARD,WATCH,MULTI除外)
2.3.3 事务队列
用于存放命令multiCmd *commands
2.3.4 执行事务(exec)
RedisClient向服务器端发送exec命令,RedisServer会遍历事务队列,执行队列中的命令,最后将执行的结果一次性返回给客户端。如果某条命令在入队过程中发生错误,redisClient将flags置为REDIS_DIRTY_EXEC,EXEC命令将会失败返回。

2.4 redis事务缺点

1、redis弱事务
2、中间语法错误事务整体失败
3、事务不支持回滚

三、Redis监视

四、Redis慢查询

4.1 慢查询配置

redis.conf配置

Redis使用列表存储慢查询日志,采用队列方式 (FIFO)
config set的方式可以临时设置,redis重启后就无效
config set slowlog-log-slower-than 微秒
config set slowlog-max-len 条数
查看日志: slowlog get [n]

4.2 底层数据结构

Redis使用列表存储慢查询日志,采用队列方式 (FIFO)

 

 

 

 

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

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

相关文章

产品需求管理软件:了解常见选择和功能

产品需求管理软件是一种非常重要的工具。它可以帮助企业更好地理解客户需求&#xff0c;提高产品开发效率并降低成本。本文将介绍一些常见的产品需求管理软件及其主要功能。 “产品需求管理软件有哪些&#xff1f;比较流行的有Zoho Projects、Trello、Asana、Smartsheet等。” …

CHATGPT源码简介与使用指南

CHATGPT源码的基本介绍 CHATGPT源码备受关注&#xff0c;它是一款基于人工智能的聊天机器人&#xff0c;旨在帮助开发者快速搭建自己的聊天机器人&#xff0c;无需编写代码。下面是对CHATGPT搭建源码的详细介绍。 CHATGPT源码的构建和功能 CHATGPT源码是基于Google的自然语言…

解决selenium的“can‘t access dead object”错误

目录 问题描述 原因 解决方法 示例代码 资料获取方法 问题描述 在python执行过程中&#xff0c;提示selenium.common.exceptions.WebDriverException: Message: TypeError: cant access dead object 原因 原因是代码中用到了frame,获取元素前需要切换到frame才能定位到…

ssh-keygen 做好免密登录后不生效

免密说明 通常情况下&#xff0c;我们ssh到其他服务器需要知道服务器的用户名和密码。对于需要经常登录的服务器每次都输入密码比较麻烦&#xff0c;因此我们可以在两台服务器上做免密登录&#xff0c;即在A服务器可以免密登录B服务器。 在A服务器上登录B服务器时&#xff0c;…

Android Ble蓝牙App(五)数据操作

Ble蓝牙App&#xff08;五&#xff09;数据操作 前言目录正文一、操作内容处理二、读取数据① 概念② 实操 三、写入数据① 概念② 实操 四、打开通知一、概念二、实操三、收到数据 五、源码 前言 关于低功耗蓝牙的服务、特性、属性、描述符都已经讲清楚了&#xff0c;而下面就…

基于HTML+CSS+Echarts大屏数据可视化集合共99套

基于HTMLCSSEcharts大屏数据可视化集合共99套 一、介绍二、展示1.大数据展示系统2.物流订单系统3.物流信息系统4.办税渠道监控平台5.车辆综合管控平台 三、其他系统实现四、获取源码 一、介绍 基于HTML/CSS/Echarts的会议展览、业务监控、风险预警、数据分析展示等多种展示需求…

关于 Windows 11 的云端备份

一、Windows 云端备份不是Windows 11专享 Windows 11即将正式推出一项云端备份功能&#xff0c;它的作用是为您备份几乎所有内容 - 不仅仅是您的文件和文件夹&#xff0c;还包括应用程序、系统设置、登录详细信息等&#xff0c;以便您可以立即启动并运行新电脑。这些详细信息与…

Kafka第三课

Flume 由三部分 Source Channel Sink 可以通过配置拦截器和Channel选择器,来实现对数据的分流, 可以通过对channel的2个存储容量的的设置,来实现对流速的控制 Kafka 同样由三大部分组成 生产者 服务器 消费者 生产者负责发送数据给服务器 服务器存储数据 消费者通过从服务器取…

日常BUG——通过命令行创建vue项目报错

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 在使用vue命令行创建一个vue项目时&#xff0c;出现一下的错误&#xff1a; vue create my…

python编程小游戏简单的,python小游戏编程100例

大家好&#xff0c;给大家分享一下python编程小游戏简单的&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; 不会python就不能用python开发入门级的小游戏&#xff1f; 当然不是&#xff0c;我收集了十个python入门小游戏的源码和教程&#…

SpringCloud实用篇5——elasticsearch基础

目录 1.初识elasticsearch1.1 了解ES1.1.1 elasticsearch的作用1.1.2 ELK技术栈1.1.3 elasticsearch和lucene1.1.4 总结 1.2.倒排索引1.2.1.正向索引1.2.2.倒排索引1.2.3.正向和倒排 1.3 es的一些概念1.3.1 文档和字段1.3.2 索引和映射1.3.3 mysql与elasticsearch 1.4 部署单点…