IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis设计与实现读书笔记---发布订阅/事务/排序/慢查询 -> 正文阅读

[大数据]Redis设计与实现读书笔记---发布订阅/事务/排序/慢查询

发布与订阅

当一个Redis客户端执行PUBLISH 命令将消息message发送给频道channel时,服务器执行如下动作:

  1. 将消息message发送给channel频道所以订阅者‘
  2. 如果有一个或多个模式pattern与频道channel相匹配,那么消息message发送给pattern模式的订阅者;

命令

PUBSUB CHANNELS [pattern]:返回服务器当前被订阅的频道;

PUBSUB NUMSUB [channel-1 channel-2 channel-n]:接收任意多个频道作为输入参数,并返回这些频道的订阅者数量;

PUBSUB NUMPAT:返回服务器当前被订阅模式的数量;

事务

Redis通过MULTI、EXEC、WATCH等命令来实现事务功能;事务提供了一种将多个命令请求打包,然后一次性、按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务去执行其他客户端的命令请求,只有当事务中的所有命令都执行完毕后,才会去处理其他客户端的命令请求;

MULTI:开启事务

EXEC:执行并提交事务

WATCH:监视具体的变量

WATCH命令是一个乐观锁(optimistic locking),可以在EXEC命令执行前,监视任意数量的数据库键,并在执行EXEC命令前,检查被监视的键是否至少有一个已经被修改,如果存在被修改的键,那么服务器拒绝主席事务,并向客户端返回代表事务执行失败的空回复。

事务的实现

一个事务从开始到结束通常经历三个阶段:

  1. 事务开始:通过MULTI命令执行标志着事务的开始;
  2. 命令入队;
  3. 事务执行;

Redis的事务和传统的关系型数据库事务最大的区别在于,Redis不支持事务回滚机制(rollback),即使事务队列中的某个命令执行出错,这个事务也会继续向下执行,不会回滚。

Lua脚本

  1. Redis服务器启动时,会对内嵌的Lua环境执行一系列修改,确保内嵌的环境可以满足Redis在功能性、安全性方面的需要;
  2. Redis服务器专门使用一个伪客户端来执行Lua脚本中包含的Redis命令;
  3. Redis使用脚本字典来保存所有被EVAL命令执行过,或被SCRIPT LOAD命令载入过的Lua脚本,这些脚本可以实现SCRIPT EXISTS命令,以及实现脚本复制功能;

排序

SORT命令可以对列表键、集合键或者有序集合键的值进行排序;

命令

SORT :对一个包含数字值得键key进行排序;

SORT ALPHA:对一个包含三个字符串值得集合键进行排序;

SORT ASC/DESC:排序后得结果按值得大小从小到大排列或者从达到小排列;

SORT BY :指定某些字符串键,或者某个哈希键锁包含得某些域来作为元素的权重,对一个键进行排序;

LIMIT :返回命令响应中的一部分结果

SORT STORE :将排序的结果存入键中存储,后续直接使用;

命令格式:SORT ALPHA DESC BY LIMIT GET STORE <store_key>

慢查询日志

Redis的慢查询日志功能用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来监视和优化查询速度;

配置选项:

  1. slowlog-log-slower-than:指定执行时间超过多少微秒的命令请求会被记录到日志上;
  2. slowlog-max-len:指定服务器最多保存多少条慢查询日志;

eg:CONFIG SET slowlog-log-slower-than 0

? CONFIG SET slowlog-max-len 5

SLOWLOG GET:查看服务器所保存的慢查询日志;

监视器

通过执行MONITOR命令,客户端可以将自己变成一个监视器,实时地接收并打印服务器当前处理的命令请求的相关信息。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2021-10-07 13:54:36  更:2021-10-07 13:57:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:20:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码