Redis
OOC_ZC
OOC
展开
-
Redis Sentinel
一、概述 二、启动并初始化Sentinel原创 2019-07-12 00:04:00 · 287 阅读 · 0 评论 -
Redis 复制
一、复制 【198 在Redis中,用户—的服务器则被称为从服务器】 1.1 旧版复制功能的实现(Redis 2.8 以前) 【199 Redis的复制功能分为—结尾】 【200 开头–图15-2】 命令传播: 主服务器会将自己执行的写命令,也即是造成主从服务器不一致的那条写命令,发送给从服务器执行,让两者再次回到一致状态。 1.2 旧版复制功能的缺陷 【201 在Redis中,从服务器对主服务器...原创 2019-07-10 19:09:15 · 259 阅读 · 0 评论 -
Redis 客户端与服务器
一、客户端 对于每个与服务器进行连接的客户端,服务器都为这些客户端建立了相应的redis.h/redisClient结构(客户端状态)。这个结构保存了客户端当前的状态信息,以及执行相关功能时需要用到的数据结构,其中包括: 客户端的套接字描述符 客户端的名字 客户端的标志值 指向客户端正在使用的数据库的指针,以及该数据库的号码 客户端当前要执行的命令、命令的参数、命令参数的个数,以及指向命令实现函...原创 2019-07-04 23:04:57 · 377 阅读 · 0 评论 -
Redis AOF 持久化
BGREWRITEAOF 命令用于异步执行一个 AOF 文件重写操作。重写会创建一个当前 AOF 文件的体积优化版本。即使 BGREWRITEAOF 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 Bgrewriteaof 成功之前不会被修改。 ...原创 2019-04-29 16:03:10 · 144 阅读 · 0 评论 -
Redis RDB 持久化
RDB 持久化 (AppendOnly File) Redis 是内存数据库,如果不把内存中的数据库状态(所有非空数据库及其键值对)储存到硬盘中,当数据库进程退出,数据会消失。 RDB 文件的创建与载入 BGREWRITEAOF 命令用于异步执行一个 AOF 文件重写操作。重写会创建一个当前 AOF 文件的体积优化版本。即使 BGREWRITEAOF 执行失败,也不会有任何数据丢失,因为旧的...原创 2019-04-28 21:31:47 · 187 阅读 · 0 评论 -
Redis 对象的使用
一、概述 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。 键的类型只能为字符串,值支持五种数据类型:字符串(STRING)、列表(LIST)、集合(SET)、散列表(HASH)、有序集合(...原创 2019-04-14 17:56:14 · 176 阅读 · 0 评论 -
Redis 事件
一、Redis 事件 二、文件事件 文件事件处理器以单线程运行。 IO多路复用(IO Multiplexing):即经典的Reactor设计模式,Java中的Selector和Linux中的epoll都是这种模型。 1. 文件事件处理器 2. IO 多路复用程序的实现 三、时间事件 serverCron 也会调用定期删除过期键的函数。 四、事件的调度与执行 五、重点...原创 2019-04-21 21:15:06 · 253 阅读 · 0 评论 -
Redis 数据库及过期键的实现
一、服务器中的数据库 二、键的过期 Redis 可以设置键的生存时间或过期时间。 RedisDB 结构中的expires字典保存了数据库中所有键的过期时间,称这个字典为过期字典。 2.1 Redis 的过期键删除策略 Redis 服务器实际使用惰性删除和定期删除两种策略。通过配合两种删除策略,可以在CPU时间和避免浪费内存空间之间取得平衡。 2.2 惰性删除策略的实现 2...原创 2019-04-21 19:04:33 · 303 阅读 · 0 评论 -
Redis 对象的实现
1、简单动态字符串 简单动态字符串(simple dynamic string, SDS)是 Redis 的默认字符串表示,是一个可修改的字符串值。Redis 只使用C字符串作为字面量,在大多数情况下,Redis使用SDS作为字符串表示。 STRING 的底层实现之一。 1.1 SDS 的定义 1.2 SDS 的空间预分配 当SDS需要空间拓展时,程序会预先分配SDS一些额外的空间。即当SDS...原创 2019-04-16 13:55:22 · 188 阅读 · 0 评论