redis
文章平均质量分 92
编程界的谢菲尔德
这个作者很懒,什么都没留下…
展开
-
redis杂谈之部分重同步的实现
部分重同步则用于处理断线后重复制情况:当从服务器在断线 后重新连接主服务器时,如果条件允许,主服务器可以将主从服务器连 接断开期间执行的写命令发送给从服务器,从服务器只要接收并执行这 些写命令,就可以将数据库更新至主服务器当前所处的状态部分重同步功能由以下三个部分构成:·主服务器的复制偏移量(replication offset)和从服务器的复制偏移量。·主服务器的复制积压缓冲区(replication backlog)。·服务器的运行ID(run ID)。原创 2023-04-06 08:55:33 · 491 阅读 · 0 评论 -
redis杂谈之旧版复制(3)
Redis的复制功能分为同步(sync)和命令传播(command propagate)两个操作:·同步操作用于将从服务器的数据库状态更新至主服务器当前所处 的数据库状态。·命令传播操作则用于在主服务器的数据库状态被修改,导致主从服务器的数据库状态出现不一致时,让主从服务器的数据库重新回到一 致状态。原创 2023-04-06 08:47:10 · 391 阅读 · 0 评论 -
诠释serverCron函数在服务器的相关功能
1.引言2.serverCron的功能2.1更新服务器时间缓存2.2更新LRU时钟2.3更新服务器每秒钟执行命令次数2.4更新服务器内存峰值记录 2.5处理sigterm2.6管理客户端资源和数据库资源2.7对持久化的影响 2.8增加cronloops的值原创 2023-03-31 08:05:55 · 148 阅读 · 0 评论 -
图解redis服务器(1)
到目前为止,服务器已经将执行命令所需的命令实现函数(保存 客户端状态的cmd属性)、参数(保存在客户端状态的argv属性)、参 数个数(保存在客户端状态的argc属性)都收集齐了,但是在真正执行 命令之前,程序还需要进行一些预备操作,从而确保命令可以正确、顺 利地被执行,这些操作包括。命令实现函数会将命令回复保存到客户端的输出缓冲区 里面,并为客户端的套接字关联命令回复处理器,当客户端套接字变为 可写状态时,服务器就会执行命令回复处理器,将保存在客户端输出缓 冲区中的命令回复发送给客户端。原创 2023-03-29 15:47:57 · 264 阅读 · 0 评论 -
图解redis的client的实现
1.引言2.客户端属性2.1套接字描述符2.2 name2.3客户端标志2.4输入缓冲区2.5命令与命令参数2.6命令实现的函数2.7输出缓冲区2.8身份验证2.9 时间3.客户端的创建的关闭3.1普通客户端的创建3.2普通客户端的关闭3.AOF的伪客户端原创 2023-03-29 15:09:00 · 572 阅读 · 0 评论 -
图解redis的时间事件
redis事件事件 severcron原创 2023-03-27 10:31:34 · 451 阅读 · 0 评论 -
图解redis的AOF持久化
aof重写 aof持久化原理原创 2023-03-26 11:00:52 · 364 阅读 · 0 评论 -
图解redis的跳跃表
跳跃表是有序集合的底层实现之一。·Redis的跳跃表实现由zskiplist和zskiplistNode两个结构组成,其中zskiplist用于保存跳跃表信息(比如表头节点、表尾节点、长度),而zskiplistNode则用于表示跳跃表节点。·每个跳跃表节点的层高都是1至32之间的随机数。·在同一个跳跃表中,多个节点可以包含相同的分值,但每个节点的成员对象必须是唯一的。·跳跃表中的节点按照分值大小进行排序,当分值相同时,节点按照成员对象的大小进行排序。原创 2023-03-17 08:52:45 · 468 阅读 · 0 评论 -
图解redis的字典
·字典被广泛用于实现Redis的各种功能,其中包括数据库和哈希键。·Redis中的字典使用哈希表作为底层实现,每个字典带有两个哈希 表,一个平时使用,另一个仅在进行rehash时使用。·当字典被用作数据库的底层实现,或者哈希键的底层实现时, Redis使用MurmurHash2算法来计算键的哈希值。·哈希表使用链地址法来解决键冲突,被分配到同一个索引上的多 个键值对会连接成一个单向链表。·在对哈希表进行扩展或者收缩操作时,程序需要将现有哈希表包 含的所有键值对rehash到新哈希表里面,并且原创 2023-03-16 16:44:14 · 323 阅读 · 0 评论 -
数据库概述之重点
在sql中,必须定义好地段和表结构之后,才能够添加数据,例如定义表的主键、索引、外键等。表结构可以在定义之后更新,但是如果有比较大的结构变更,就会变的比较复杂。在Nosql数据库中,数据可以在任何时候任何地方添加。不需要预先定义。原创 2023-03-14 10:16:31 · 146 阅读 · 0 评论