06 2021 档案
摘要:第 13 章 客户端 Redis 服务器是典型的一对多服务器程序,通过使用由 I/O 多路复用技术实现的文件事件处理器,服务器使用单线程单进程的方式来处理命令请求,并与多个客户端进行网络通信 redis.h/redisClient 结构保存了客户端当前的状态信息,以及执行相关功能需要用到的数据结构:
阅读全文
摘要:第 12 章 事件 Redis 服务器是一个事件驱动程序,需要处理以下两类事件: 文件事件:服务器通过套接字与客户端相连,文件事件即服务器对套接字操作的抽象;服务器与客户端的通信会产生相应的文件事件,服务器通过监听和处理事件拉完成一系列网络通信操作 时间事件:服务器中的一些操作需要在给定的时间点执行
阅读全文
摘要:第 11 章 AOF 持久化 AOF(Append Only File)持久化,通过保存服务器所执行的写命令来记录数据库状态 被写入 AOF 文件的所有命令都是以 Redis 命令请求协议保存的,即纯文本格式 11.1 AOF 持久化的实现 三个步骤: 命令追加 文件写入 文件同步 11.1.1 命
阅读全文
摘要:第 10 章 RDB 持久化 数据库状态:服务器中的非空数据库以及它们的键值对统称为数据库状态 Redis 提供 RDB 持久化功能,将内存中的数据库状态保存到磁盘中,避免数据意外丢失 RDB 文件是一个经过压缩的二进制文件,还可以通过该文件还原生成 RDB 文件时的数据库状态 10.1 RDB 文
阅读全文
摘要:第 9 章 数据库 9.1 服务器中的数据库 redis.h/redisServer 结构的 db 数组中,每个元素都是 redis.h/redisDb 结构,代表一个数据库 初始化服务器时会根据服务器状态的 dbnum 属性来决定创建多少个数据库 dbnum 由服务器配置的 database 选项
阅读全文
摘要:第 8 章 对象 8.1 对象的类型与编码 Redis 使用对象来表示数据库中的键和值,即每次创建一个键值对时,至少创建了两个对象,一个是键对象,一个是值对象 Redis 每个对象都是由 redisObject 结构表示 8.1.1 类型 type 记录了对象类型 对于 Redis 键值对来说,键总
阅读全文
摘要:第 7 章 压缩列表 ziplist 是列表键和哈希表底层实现之一 当一个列表键只包含少量列表项,且每个列表项是小整数值或者长度比较短的字符串时会使用 ziplist 127.0.0.1:6379> rpush lst 1 3 5 10086 "hello" "world" (integer) 6
阅读全文
摘要:第 6 章 整数集合 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis 会使用整数集合作为集合键的底层实现 127.0.0.1:6379> sadd numbers 1 3 5 7 9 11 (integer) 6 127.0.0.1:6379> object encoding
阅读全文
摘要:第 5 章 跳跃表 跳跃表是一种有序数据结构,通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的 支持平均 O(logN)、最坏 O(N) 复杂度的节点查找,还可以通过顺序性操作来批量处理节点 Redis 使用跳跃表作为有序集合键的底层实现之一,当有序集合包含的元素数量多,或者有
阅读全文
摘要:第 4 章 字典 字典在 Redis 的应用:数据库、哈希键的底层实现之一 4.1 字典的实现 4.1.1 哈希表 哈希表由 dict.h/dictht 结构定义 table 是一个数组,每个元素都是一个指向 dict.h/dictEntry 结构的指针,而每个 dictEntry 保存着一对键值对
阅读全文
摘要:第 3 章 链表 链表在 Redis 中应用广泛,如列表键的底层实现之一是链表 当一个列表键包含了数量比较多的元素 列表中包含的元素都是比较长的字符串时 integers 列表键包含了 [1, 1024] 共 1024 个整数,其底层实现就是链表,每个节点都保存了一个整数值 发布与订阅、慢查询、监视
阅读全文
摘要:第 2 章 简单动态字符串 Redis 没有直接使用 C 语言的字符串来表示(即以空字符结尾的字符数组),构建一张简单动态字符串 SDS 的抽象类型,作为默认字符串 在 Redis 中,C 字符串作为字符串字面量,使用在没有对字符串修改的地方,如打印日志: 但是需要的不仅仅是字符串字面量时,而是可以
阅读全文
摘要:8.6 使 TCP 连接安全:SSL TCP 的强化版本通常被称 安全层套接字 SSL SSL 版本 3 的一个稍加修改的版本被称为运输层安全性 TLS 网购中假如不采取安全措施 没有机密性 入侵者可获得银行卡信息 没有完整性 订单数量被修改 服务器鉴别 购物的网站是假冒的,金钱,或个人信息泄露 S
阅读全文
摘要:第 6 章 链路层和局域网 6.1 链路层概述 节点 运行链路层协议的任何设备均称为节点 主机、路由器、交换机和 WIFI 接入点 链路 沿着通信路径连接相邻节点的通信信道称为链路 IP 数据报被封装在链路层帧中,在链路中传播 类比旅游中乘坐的交通工具有多种,游客类比数据报,每个运输区段类比链路,每
阅读全文
摘要:4.3.5 IPv6 1.IPv6数据报格式 扩容的地址容量: 32 bit --> 128 bit 单播、多播、任播(任意一组主机中的任意一个) 简化高效的 40 字节首部: 许多IPv4 字段已经舍弃可选的选项字段,IPv6不允许选项的出现 流标签: 特殊流的分组加上标签,发送方需要接收方特殊处
阅读全文
浙公网安备 33010602011771号