摘要: 18、发布与订阅 Redis 的发布与订阅功能由PUBLISH、SUBSCRIBE、PSUBSCRIBE等命令组成 频道的订阅与退订 Redis将所有频道的订阅关系都保存在服务器状态的pubsub_channels字典里面,这个字典的键是某个被订阅的频道,而键的值则是一个链表,链表里面记录了所有订阅 阅读全文
posted @ 2022-04-17 16:16 Z9Y1J5 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 15、复制 进行复制中的主从服务器双方的数据库将保存相同的数据,概念上将这种现象称作“数据库状态一致”,或者简称“一致”。 旧版复制功能的实现 Redis的复制功能分为同步( sync)和命令传播( command propagate)两个操作 同步操作用于将从服务器的数据库状态更新至主服务器当前所 阅读全文
posted @ 2022-04-17 09:56 Z9Y1J5 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 9、数据库 select实现原理:通过修改RedisClient.db指针,让他指向服务器中的不同数据库,从而实现切换目标数据库的功能 typedef struct redisDb{ dict *dict; //键空间 dict *expires; //过期键,是一个long long类型的整数,保 阅读全文
posted @ 2022-04-14 21:41 Z9Y1J5 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 2、简单动态字符串 redis中没有使用c语言的字符串,而是用到了简单动态字符串(SDS),set name "hello"表示的意思是:键值对的键是一个字符串对象,底层实现是一个保存字符串name的SDS。 SDS的作用:处理用来保存字符串值之外,还用作缓冲区(AOF模块中的AOF缓冲区、客户端状 阅读全文
posted @ 2022-04-10 10:16 Z9Y1J5 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1、了解 Web 及网络基础 URI(统一资源标识符),URL是 URI 的子集 2、简单的HTTP协议 HTTP 是一种不保存状态,即无状态(stateless)协议,但为了实现期望的保持状态功能,于 是引入了 Cookie 技术 持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额 阅读全文
posted @ 2022-04-09 17:19 Z9Y1J5 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 3.1 信号在网线和集线器中传输 所有的包在传输到目的地的过程中都是独立的, 相互之间没有任何关联 网卡中的 PHY( MAU) 模块负责将包转换成电信号, 信号通过 RJ-45 接口进入双绞线 ,然后到达集线器,(但是在传输的过程中信号会衰减,正是因为使用的是双绞线,才能抑制噪声)当信号到达集线器 阅读全文
posted @ 2022-03-28 11:41 Z9Y1J5 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 2.1 创建套接字 像浏览器、 邮件等一般的应用程序都是使用 TCP 收发数据的, 而像 DNS 查询等收发较短的控制数据的时候则使用 UDP。 IP 协议控制网络包收发操作的部分 ICMP 用于告知网络包传送过程中产生的错误以及各种控制消息 ARP 用于根据 IP 地址查询相应的以太网 MAC 地 阅读全文
posted @ 2022-03-27 20:23 Z9Y1J5 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1、了解SQL 数据库是一个以某种有组织的方式存储的数据集合 ,保存有组织的数据的容器(通常是一个文 件或一组文件)。 表是一种结构化的文件,可用来存储某种特定类型的数据 模式(schema) 关于数据库和表的布局及特性的信息 主键(primary key) 一一列(或一组列),其值能够唯一区分表中 阅读全文
posted @ 2022-03-26 20:39 Z9Y1J5 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 1.1 生成HTTP请求消息 URL实际上除了“http:”开头, 网址还可以以其他一些文字开头, 例如“ftp:”(下载和上传文件)“file:”(读取客户端计算机本地文件)“mailto:” (发送电子文件)等 浏览器要做的第一步工作就是对 URL 进行解析, 从而生成发送给 Web服务器的请求 阅读全文
posted @ 2022-03-25 20:55 Z9Y1J5 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 一、comparator.c分析 抽象类,有两个类继承他BytewiseComparatorImpl、InternalKeyComparator 函数功能: FindShortestSeparator(std::string* start,const Slice& limit):如果*start<* 阅读全文
posted @ 2022-03-03 21:42 Z9Y1J5 阅读(46) 评论(0) 推荐(0) 编辑