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)

相关文章:
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 发布订阅原理 订阅某个频道或…...
快手商品详情数据API 抓取快手商品价格、销量、库存、sku信息
快手商品详情数据API是用来获取快手商品详情页数据的接口,请求参数为商品ID,这是每个商品唯一性的标识。返回参数有商品标题、商品标题、商品简介、价格、掌柜昵称、库存、宝贝链接、宝贝图片、商品SKU等。 接口名称:item_get 公共参数 名…...
linux系统部署jenkins详细教程
一、Linux环境 1、下载war包 官网下载地址: https://get.jenkins.io/war-stable/2.332.4/jenkins.war 2、将war包上传至服务器 创建目录/home/ubuntu/jenkins 上传war包至该目录 3、将jenkins添加到环境变量 进入环境变量文件 vim /etc/profile # 文件下方追加…...
Arduino驱动BME680环境传感器(环境传感器篇)
目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序...
领航未来!探索开源无人机与5G组网的前沿技术
近年来无人机行业高速发展,无人机被广泛应用于航拍、农业、电力、消防、科研等领域。随着无人机市场不断增长,其对实时超高清图传、远程低时延控制、海量数据处理等需求也在不断扩张,这无疑给通信链路带来了巨大的挑战。 为应对未来的需求变…...
分布式事务CAP与BASE简介
一、CAP理论 CAP理论是由Eric Brewer教授在2000年举⾏的ACM研讨会上提出的⼀个著名猜想:⼀致性(Consistency)、可⽤性(Availability)、分区容错(Partition-tolerance),并且在分布式系…...
Integer中缓存池讲解
文章目录 一、简介二、实现原理三、修改缓存范围 一、简介 Integer缓存池是一种优化技术,用于提高整数对象的重用和性能。在Java中,对于整数值在 -128 到 127 之间的整数对象,会被放入缓存池中,以便重复使用。这是因为在这个范围…...
PHP Smarty模板如何与MVC框架集成?
首先,让我们来了解一下这两个工具。PHP Smarty模板是一种模板引擎,它可以帮助我们分离模板和逻辑,让代码更加清晰和易于维护。而MVC(Model-View-Controller)是一种常用的Web应用程序架构模式,它将应用程序分…...
spring cloud alibaba 应用无法注册到sentinel dashboard
一。技术背景 由于升级jdk17的需要 我们将项目中的 spring cloud spring cloud alibaba 以及springboot进行了升级 各版本如下 spring cloud 2021.0.5 spring cloud alibaba 2021.0.5.0 spring boot 2.6.13 二。问题表现 当启动项目服务后,服务无法注册到 sentin…...
如何在vue3中加入markdown语法
1、首先需要安装 md-editor-v3 yarn add md-editor-v3 或者是在vue图形化界面中直接搜索 md-editor-v3 进行安装。 2、引入该编辑页 引入可以参考这个,根据自己的需求进行修改和添加。 <template><md-editor v-model"text"/> </templat…...
R语言的物种气候生态位动态量化与分布特征模拟实践技术
在全球气候快速变化的背景下,理解并预测生物种群如何应对气候变化,特别是它们的地理分布如何变化,已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟,不仅可以量化描述物种对环境的需求和适应性,预…...
大数据Flink(六十一):Flink流处理程序流程和项目准备
文章目录 Flink流处理程序流程和项目准备 一、Flink流处理程序的一般流程...
C语言快速回顾(一)
前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》,结合我自己的工作学习经历,我准备写一个音视频系列blog。C/C是音视频必…...
Element Plus报错:ResizeObserver loop completed with undelivered notifications.
el-selected踩坑:el-selected 显示下拉框 mouseover 时报错!!! 原来是属性 popper-append-to-body 被废除,改为 teleported。 element ui <el-select:popper-append-to-body"false"value-key"id&q…...
scope穿透(二)
上篇文章已经讲了,如何穿透样式,今天我们进入element-ui官网进行大规模的穿透处理。 1.输入框 <template><div class""><el-input v-model"input" placeholder"请输入内容"></el-input></div> </template>…...
2023+HuggingGPT: Solving AI Tasks with ChatGPT and itsFriends in Hugging Face
摘要: 语言是llm(例如ChatGPT)连接众多AI模型(例如hugs Face)的接口,用于解决复杂的AI任务。在这个概念中,llms作为一个控制器,管理和组织专家模型的合作。LLM首先根据用户请求规划任务列表,然后为每个任务分配专家模…...
Ant Design Mobile是什么?
在当今的数字时代,移动应用程序和网页设计已经成为各行各业的重要组成部分。用户界面的设计直接影响到用户体验和产品的成功。为了帮助设计师在移动设计领域更好,Antdesignmobile应运而生。Antdesignmobile是蚂蚁金服的移动UI设计语言和框架,…...
深入理解设计模式-行为型之模板(和回调区别联系)
概述 模板设计模式(Template Design Pattern)是一种行为型设计模式,它定义了一个算法的骨架,将算法的一些步骤延迟到子类中实现。模板设计模式允许子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板设计模式的核心思想…...
LabVIEW控制通用工作台
LabVIEW控制通用工作台 用于教育目的的计算机化实验室显着增长,特别是用于运动控制的实验室。它们代表了各种工业应用中不断扩大的领域,并成为以安全的方式使用通常昂贵或独特的实验室设备进行实时实验的宝贵工具。NI LabVIEW等软件应用程序的开发和不断…...
什么是事务,并发带来的事务问题以及事务隔离级别(图文详解)
一、什么是事务? 简单说就是逻辑上的一组操作,要么都执行,要么都不执行。 举个例子,假如小明要给小红转账100元,这个转账会涉及到两个关键操作:①将小明的余额减少100元。 ②将小红的余额增加100元 。但…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
