2021年5月9日
摘要: 一 介绍 客户端可以通过执行MONITOR命令,将客户端转换成监视器,接收并打印服务器处理的每个命令请求的相关信息。 当一个客户端从普通客户端变为监视器时,该客户端的REDIS_MONITOR标识会被打开。服务器将所有监视器都记录在monitors链表中。每次处理命令请求时,服务器都会遍历monit 阅读全文
posted @ 2021-05-09 18:05 duanxz 阅读(277) 评论(0) 推荐(0)
摘要: 《Redis性能问题排查解决手册》《Redis的基本操作以及info命令》《redis object命令》《清理 redis 死键》 一、什么是slowlog Slow log 是 Redis 用来记录查询执行时间的日志系统。提供的一种用于观察系统性能的功能, 这个功能的实现非常简单, 这里我们也简 阅读全文
posted @ 2021-05-09 17:51 duanxz 阅读(1168) 评论(0) 推荐(0)
摘要: Lua 脚本功能是 Reids 2.6 版本的最大亮点, 通过在服务器中内嵌对 Lua 环境的支持,Redis客户端可以使用Lua脚本,直接在服务器端原子地执行多个Redis命令。 Redis 解决了长久以来不能高效地处理 CAS (check-and-set)命令的缺点, 并且可以通过组合使用多个 阅读全文
posted @ 2021-05-09 17:01 duanxz 阅读(582) 评论(0) 推荐(0)
摘要: Redis 通过 MULTI 、 DISCARD 、 EXEC 和 WATCH 四个命令来实现事务功能, 本章首先讨论使用 MULTI 、 DISCARD 和 EXEC 三个命令实现的一般事务, 然后再来讨论带有 WATCH 的事务的实现。 因为事务的安全性也非常重要, 所以本章最后通过常见的 AC 阅读全文
posted @ 2021-05-09 16:35 duanxz 阅读(236) 评论(0) 推荐(0)
摘要: Redis 通过 PUBLISH 、 SUBSCRIBE 等命令实现了订阅与发布模式, 这个功能提供两种信息机制, 分别是订阅/发布到频道和订阅/发布到模式。 举个例子: 当右边窗口执行了后, 一、频道的订阅与信息发送 Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有 阅读全文
posted @ 2021-05-09 15:31 duanxz 阅读(603) 评论(0) 推荐(0)
摘要: Redis 服务器: Redis 服务器实现与多个客户端的连接,并处理这些客户端发送过来的请求,同时保存客户端执行命令所产生的数据到数据库中。Redis 服务器依靠资源管理器来维持自身的运转,其主要作用是管理 Redis 服务。 一、命令请求的执行过程 举个例子: 我们向客户端发送了一条命令:SET 阅读全文
posted @ 2021-05-09 14:45 duanxz 阅读(690) 评论(0) 推荐(0)
摘要: Redis 是一个客户端服务端的程序,服务端提供数据存储等等服务,客户端连接服务端并通过向服务端发送命令,读取或写入数据,简单来说,客户端就是某种工具,我们通过它与 Redis 服务端进行通讯并完成数据操作。 客户端并不是 Redis 的核心,Redis 的核心是它的服务端程序,服务端程序才是完成数 阅读全文
posted @ 2021-05-09 11:59 duanxz 阅读(955) 评论(0) 推荐(1)
摘要: 为什么单线程还能这么快 通常来讲,单线程处理能力要比多线程差,那么为什么Redis使用单线程模型会达到每秒万级别的处理能力呢?可以将其归结为三点: 第一:纯内存访问,Redis将所有数据放在内存中,内存的响应时长大约为100纳秒,这是Redis达到每秒万级别访问的最重要的基础。 第二:非阻塞I/O, 阅读全文
posted @ 2021-05-09 11:24 duanxz 阅读(438) 评论(0) 推荐(1)
摘要: 一、Redis服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个想都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库: struct redisServer { //一个数组,保存着服务 阅读全文
posted @ 2021-05-09 09:53 duanxz 阅读(595) 评论(0) 推荐(0)