专栏汇总:Redis 设计与实现教程
一、Redis介绍 二、Redis 前言 三、致谢 四、Redis简介 五、SDS 的定义 六、SDS 与 C 字符串的区别 七、SDS API 八、Redis 重点回顾 九、Redis 参考资料 十、Redis 链表和链表节点的实现 十一...
一、Redis介绍 二、Redis 前言 三、致谢 四、Redis简介 五、SDS 的定义 六、SDS 与 C 字符串的区别 七、SDS API 八、Redis 重点回顾 九、Redis 参考资料 十、Redis 链表和链表节点的实现 十一...
注释源码 为了帮助有需要的读者进一步了解 Redis 的实现细节, 本书附带了一份包含详细中文注释的 Redis 3.0 版本源码可供参考:https://github.com/huangz1990/redis-3.0-annotated ...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
客户端可以通过执行 MONITOR 命令, 将客户端转换成监视器, 接收并打印服务器处理的每个命令请求的相关信息。 当一个客户端从普通客户端变为监视器时, 该客户端的 REDIS_MONITOR 标识会被打开。 服务器将所有监视器都记录在 ...
服务器在每次处理命令请求之前, 都会调用 replicationFeedMonitors 函数, 由这个函数将被处理命令请求的相关信息发送给各个监视器。 以下是 replicationFeedMonitors 函数的伪代码定义, 函数首先根...
发送 MONITOR 命令可以让一个普通客户端变为一个监视器, 该命令的实现原理可以用以下伪代码来实现: def MONITOR(): # 打开客户端的监视器标志 client.flags |= REDIS_MONITOR # 将客户端添加...
重点回顾 Redis 的慢查询日志功能用于记录执行时间超过指定时长的命令。 Redis 服务器将所有的慢查询日志保存在服务器状态的 slowlog 链表中, 每个链表节点都包含一个 slowlogEntry 结构, 每个slowlogEnt...
添加新日志 在每次执行命令的之前和之后, 程序都会记录微秒格式的当前 UNIX 时间戳, 这两个时间戳之间的差就是服务器执行命令所耗费的时长, 服务器会将这个时长作为参数之一传给 slowlogPushEntryIfNeeded 函数, 而...
慢查询日志的阅览和删除 弄清楚了服务器状态的 slowlog 链表的作用之后, 我们可以用以下伪代码来定义查看日志的 SLOWLOG GET 命令: def SLOWLOG_GET(number=None): # 用户没有给定 number...
慢查询记录的保存 服务器状态中包含了几个和慢查询日志功能有关的属性: struct redisServer { // ... // 下一条慢查询日志的 ID long long slowlog_entry_id; // 保存了所有慢查询日志...
Redis 使用 SDS 来保存位数组。 SDS 使用逆序来保存位数组, 这种保存顺序简化了 SETBIT 命令的实现, 使得 SETBIT 命令可以在不移动现有二进制位的情况下, 对位数组进行空间扩展。 BITCOUNT 命令使用了查表算...