
Redis
文章平均质量分 91
Harmony_Launch
这个作者很懒,什么都没留下…
展开
-
【Java学习笔记(四十一)】之Redis,NOSQL,Jedis的介绍
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. Redis(一) 概述 Redis 高性能的NOSQL系列的菲关系型数据库。Redis通过提供多种键值数据类型来适应不同场景下的存储需求。(二) Redis支持的数据类型字符串类型 String哈希类型 hash列表类型 list集合类型 set有序集合类型 sortedset(三) Redis的应用场景缓存(数据查原创 2020-09-17 15:35:25 · 249 阅读 · 0 评论 -
【Redis学习笔记(十四)】之 发布与订阅,事务,Lua脚本,慢查询日志
文章目录本文章由公号【开发小鸽】发布!欢迎关注!!!一. 发布与订阅(一) 概述(二) 频道的订阅和退订(三) 模式的订阅和退订(四) 发送消息(五) 查看订阅消息1. PUBSUB CHANNELS [pattern]2. PUBSUB NUMSUB3. PUBSUB NUMPAT二. 事务(一) 概述(二) 事务的实现1. 事务开始2. 命令入队3. 事务队列4. 执行事务(三) WATCH命令1. 概述2. 实现3. 监视机制的触发4. 判断事务是否可执行(四) 事务的ACID1. 原子性2. 一致性原创 2021-03-05 20:21:45 · 340 阅读 · 1 评论 -
【Redis学习笔记(十三)】之 Redis集群详解
文章目录本文章由公号【开发小鸽】发布!欢迎关注!!!一. 集群(一) 概述(二) 节点1. 连接2. 启动节点3. 集群数据结构4. 连接的过程(三) 槽的指派1. 概述2. 槽的指派3. 记录节点的槽指派信息4. 传播节点的槽指派信息5. 记录集群中的所有槽的指派信息(四) 集群中执行命令1. 发送命令2. 键的槽分配算法3. MOVED错误的格式4. 节点数据库的实现(五) 重新分片1. 概述2. 原理(六) ASK错误1. 概述2. ASKING命令3. ASK错误和MOVED错误的区别(七) 复制与原创 2021-03-04 20:53:57 · 481 阅读 · 1 评论 -
【Redis学习笔记(十二)】之 Sentinel详细介绍
文章目录本文章由公号【开发小鸽】发布!欢迎关注!!!一. Sentinel(一) 概述(二) 启动并初始化Sentinel1. 初始化服务器2. 使用Sentinel专用代码3. 初始化Sentinel状态4. 初始化Sentinel状态中的master属性5. 创建连向主服务器的网络连接(三) 获取主服务器信息(四) 获取从服务器信息(五) 向主服务器和从服务器发送信息(六) 接受来自主服务器和从服务器的频道信息1. Sentinels的自动发现2. 创建连向其他Sentinels的命令连接(七) 检测主原创 2021-03-02 20:41:24 · 1036 阅读 · 0 评论 -
【Redis学习笔记(十一)】之 复制的详解
文章目录本文章由公号【开发小鸽】发布!欢迎关注!!!一. 复制(一) 概述(二) 旧版复制功能1. 概述(1) 同步(2) 命令传播2. 同步3. 命令传播4. 旧版复制缺陷(1) 初次复制(2) 断线后重复制(三) 新版复制功能1. 概述2. 实现(1) 复制偏移量(2) 复制积压缓冲区(3) 服务器运行ID(四) PSYNC命令(五) 复制的实现1. 设置主服务器的地址和端口2. 建立套接字连接3. 发送PING命令4. 身份验证5. 发送端口信息6. 同步7. 命令传播(六) 心跳检测1. 检测连接2原创 2021-03-02 19:06:50 · 462 阅读 · 1 评论 -
【Redis学习笔记(十)】之 Redis服务器详解
文章目录本文章由公号【开发小鸽】发布!欢迎关注!!!一. 服务器(一) 概述(二) 命令请求过程1. 客户端向服务器发送命令请求2. 读取命令请求3. 命令执行器(1) 查找命令实现(2) 执行预备操作(3) 调用命令的实现函数(4) 执行后续工作4. 将命令回复发送给客户端5. 客户端接受并打印(三) serverCron函数1. 概述2. 更新服务器时间缓存3. 更新LRU时钟4. 管理客户端资源5. 写入AOF(四) 初始化服务器1. 概述2. 初始化服务器状态结构3. 载入配置选项4. 初始化服务器原创 2021-02-28 20:53:45 · 935 阅读 · 0 评论 -
【Redis学习笔记(九)】之 Redis客户端详解
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 客户端(一) 概述 Redis服务器是典型的一对多服务器程序,通过使用I/O多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的方式来处理命令请求,对于每个与服务器连接的客户端都创建了相应的redisClient结构,这个结构保存了客户端当前的状态信息。服务器状态结构的clients属性是一个链表,保存了所有与服务器连接的客户端的状态结构。(二) 客原创 2021-02-28 20:16:36 · 943 阅读 · 0 评论 -
【Redis学习笔记(八)】之 Redis中的事件详解
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 事件(一) 概述 Redis服务器是一个事件驱动程序,服务器需要处理两类事件:1. 文件事件 Redis服务器通过套接字和客户端进行连接,而文件事件就是服务器对套接字操作的抽象,服务器与客户端的通信会产生相应的文件事件,而服务器通过监听并处理这些事件完成网络通信操作。2. 事件时间 &n原创 2021-02-28 19:47:22 · 294 阅读 · 0 评论 -
【Redis学习笔记(七)】之 AOF持久化详解
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. AOF持久化(一) 概述 除了RDB持久化功能,Redis还提供了AOF持久化功能,通过保存Redis服务器所执行的写命令来记录数据库状态。被写入AOF文件的所有命令都是以Redis的命令请求协议格式保存的,服务器在启动时,可以通过载入和执行AOF文件中保存的命令来还原服务器关闭之前的数据库状态。(二) AOF持久化的实现  原创 2021-02-28 19:12:28 · 350 阅读 · 0 评论 -
【Redis学习笔记(六)】之 RDB持久化介绍
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. RDB持久化(一) 概述 服务器的数据库状态表示着服务器中的非空数据库以及它们的键值对,因为Redis是内存数据库,它将自己的数据库状态存储在内存中,为了保持数据的持久化,Redis提供了RDB持久化功能,将内存中的数据库状态保存到磁盘中。RDB持久化既可以手动执行,也可以定期执行,生成的RDB文件是一个经过压缩的二进制文件,通过该文件可以还原成生成RDB文件时的数据库原创 2021-02-27 21:54:18 · 302 阅读 · 0 评论 -
【Redis学习笔记(五)】之 Redis的数据库
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 数据库(一) 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redisServer结构的db数组中,db数组中的每个项都是一个redisDb结构,代表着一个数据库。在初始化服务器时,程序会根据服务器状态的dbnum属性来决定应该创建多少个数据库,默认是16个,因此db数组的大小默认是16。(二) 切换数据库 &nb原创 2021-02-27 18:08:33 · 287 阅读 · 0 评论 -
【Redis学习笔记(四)】之压缩列表,对象系统详解
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 压缩列表(一) 概述 压缩列表是列表键和哈希键的底层实现之一,所谓的列表键指的是该键的值时列表,同理哈希键表示该键的值是哈希。当一个列表键只包含少量的列表项,并且每个列表项要么是小整数值,要么是短字符串,则使用压缩列表作为列表键的实现。(二) 压缩列表的构成 压缩列表是Redis为了节约内存开发的,由一原创 2021-02-23 22:49:13 · 562 阅读 · 0 评论 -
【Redis学习笔记(三)】之跳跃表与整数集合结构详解
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 跳跃表(一) 概述 跳跃表是一种有序数据结构,通过在节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。支持平均O(logN),最坏O(N)复杂度的节点查找,效率与平衡树差不多,由于事先更加简单,是平衡树的良性替代品。Redis只在两个地方用到了跳跃表,一个是实现有序集合键,另一个是在集群节点中用作内部数据结构。(二) 跳跃表的实现 &n原创 2021-02-20 00:20:32 · 158 阅读 · 0 评论 -
【Redis学习笔记(二)】之字典结构详解
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 字典(一) 概述 一种用于保存键值对的抽象数据结构,一个键可以和一个值进行关联,每个键都是唯一的。由于C语言中没有内置字典,所以Redis构建了自己的字典实现,在Redis中的用途也很广泛,如Redis的数据库就是使用字典作为底层实现的,还有哈希键的底层实现之一等等。(二) 字典的实现 Redis的字典原创 2021-02-20 00:17:14 · 236 阅读 · 0 评论 -
【Redis学习笔记(一)】之 简单动态字符串SDS, 链表
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:、一. 简单动态字符串(一) 概述 Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组),而是自己构建了一种名为简单动态字符串(SDS)的抽象类型,作为默认字符串表示。在Redis中,C字符串数组只会作为字符串字面量用在一些无需对字符串值进行修改的地方,如打印日志中。对于可修改的字符串值,都会使用SDS来表示字符串值,如包含字符串值的键值对。(二) S原创 2021-02-20 00:12:45 · 228 阅读 · 0 评论