Redis
文章平均质量分 95
更详细的内容可我的同名语雀浏览
Forlogen
无论世事如何,你都要成为一个更优秀的人。
展开
-
Redis事务的实现原理
Redis事务的实现原理 Redis作为一个数据库使用时,它本身也提供了事务机制的支持。事务执行期间,Redis服务器不会去中断事务而执行其他客户端的命令请求,它会将事务中所有的命令都执行完毕之后,才去处理其他客户端的命令请求。Redis事务的实现主要通过MULTI、EXEC和WATCH``三个命令实现,其中MULTI用于开启事务,EXEC用于提交事务、WATCH`用于监视任意数量的key。 Redis事务实现的一个核心结构是事务队列,当服务器以事务状态运行时,针对于接收到的不同命令会有不同的操作: 如原创 2020-10-27 16:01:12 · 665 阅读 · 0 评论 -
Redis发布订阅功能的实现原理
Redis中的发布和订阅功能允许服务器向指定的频道发送消息,以及客户端可以订阅感兴趣的频道来接收消息。发布和订阅功能的实现主要由如下几个命令实现: PUBLISH:用于服务器向指定的频道发送消息,格式为:PUBLISH CHANNEL MESSAGE SUBSCRIBE:用于客户端订阅服务器指定具体名字的频道,格式为:SUBCRIBE CHANNEL_NAME PSUBCRIBE:用于客户端订阅服务器指定匹配模式的频道,格式为:SUBCRIBE CHANNEL_PATTERN 知道了发布订阅功能的相关命原创 2020-10-27 10:21:20 · 1476 阅读 · 0 评论 -
Redis中的事件和事件处理器实现原理
文章目录1. 总述2. 文件事件处理器3. 时间事件处理器 1. 总述 Redis服务器时一个事件驱动程序,服务器主要处理如下的两类事件: 文件事件(file event):服务器和客户端、主服务器和从服务器之间的Socket连接都会产生相应的文件事件,服务器通过对事件的监听来决定执行的操作 时间事件(time event):Redis服务器内部存在一些定时的操作,由此而产生的为时间事件 一切皆文件。 Redis中的文件事件处理器(file event handler)基于Reactor模式构建,原创 2020-10-26 20:41:17 · 792 阅读 · 0 评论 -
Redis中的数据库实现和键的相关操作实现原理
文章目录Redis数据库1. 表示形式2. 键的操作3. 持久化对过期键的处理4. 主从复制对过期键的处理 Redis数据库 1. 表示形式 Redis中所有的数据库都保存在服务器状态RedisServer结构的db数组中,db数组中的每一个元素表示一个具体的数据库,每个数据库又是使用redisDb结构表示。Redis默认初始化的数据库数量为16,该值会保存在redisServer的dbnum字段中。如下所示: 用户在使用Redis时,默认操作的是0号数据库。如果用户想要操作其他的数据库,可以使用SE原创 2020-10-24 11:05:39 · 201 阅读 · 0 评论 -
Redis的主从复制、哨兵模式和集群模式的原理剖析
文章目录1. 单机架构2. 主从架构2.1 配置2.2 原理3. 哨兵架构3.1 配置3.2 原理3. 集群架构3.1 配置3.2 原理3.3 分区方案3.4 slot迁移3.5 failover3.6 优化手段4. 节点间的通信4.1 端口4.2 协议4.3 消息4.4 数据结构5. 淘汰机制 1. 单机架构 单机架构模式中只有一个Redis服务器,它既负责数据的存储,也负责数据的读取。架构示意如下所示: 但是在实际的应用场景中并不会使用单机架构模式,它无法有效的解决如下的问题: 数据量伸缩问题:如原创 2020-09-26 22:12:38 · 190 阅读 · 0 评论 -
Redis的RDB和AOF持久化的实现原理
文章目录1. 概述2. RDB - 快照2.1 简介2.2 配置2.3 原理2.4 优缺点3. AOF - 重放3.1 概念3.2 配置3.3 原理3.4 优缺点4. 参考 1. 概述 Redis中数据在持久化之前都是位于内存中,当Redis进行持久化时,它首先会发起系统调用,将内存中的数据传输到操作系统的内核缓冲区中,然后由操作系统负责将内核缓冲区中的数据传输到磁盘缓冲区,最后写入到磁盘上。Redis所提供的持久化有全量模式和增量模式两种,即RDB和AOF。 2. RDB - 快照 2.1 简介 R原创 2020-09-14 15:59:38 · 503 阅读 · 0 评论 -
Redis中的基本数据结构实现原理剖析
文章目录1. 概念2 String3 list4. hash5.set6. sorted-set 1. 概念 Redis中保存数据的key-value的value内存的通用结构为: typedef struct redisobject{ unsigned type:4; // 结构化类型 unsigned encoding:4; // 结构化类型的具体实现方式 unsigned lru:REDIS_LRU_BITS; // 对于长久不访问对象的清理 void *原创 2020-09-14 14:31:39 · 237 阅读 · 0 评论 -
Redis简明使用教程
文章目录@[toc]1. 引入1.1 背景1.2 NoSQL1.3 Redis介绍2. Redis安装3. Redis数据结构4. Redis常用命令4.1 String命令4.2 hash命令4.3 list命令4.4 set命令4.5 zset命令4.6 key命令4.7 db命令5. Java整合Redis5.1 Jedis5.2 lettuce5.3 管道操作6. 安全配置7. 持久化7.1 RDB7.2 AOF8. 事务9. 架构模式9.1 单机版9.2 主从架构9.3 哨兵架构9.4 集群架..原创 2020-08-13 17:08:31 · 192 阅读 · 0 评论