
Redis原理与实践
文章平均质量分 92
redis原理与实践
zkyangll
这个作者很懒,什么都没留下…
展开
-
【Redis-01】RedisObject基本原理及各属性结构的作用
我们知道,redis常用的5种类型底层都是通过redisObject去封装的。这几个属性都很重要,下面就看下他们各自代表什么含义以及有什么作用。原创 2023-12-29 18:11:10 · 1066 阅读 · 0 评论 -
【Redis-02】Redis数据结构与对象原理 -上篇
Redis本质上是一个数据结构服务器,使用C语言编写,是基于内存的一种数据结构存储系统,它可以用作数据库、缓存或者消息中间件。我们经常使用的redis的数据结构有5种,分别是:string(字符串)、list(列表)、hash(哈希)、set(集合)、sorted set(有序集合),下面基于redis 5.0 版本查看这5种数据结构的底层实现原理。原创 2023-12-31 19:36:12 · 1505 阅读 · 0 评论 -
【Redis-03】Redis数据结构与对象原理 -下篇
在数据量比较多的时候,有序集合使用了 dict + zskiplist两种结构共同来实现。dict用于保存数据与分值之间的对应关系,key=成员对象,value=分值,这也是为什么数据值如果相同,后者会覆盖前者的原因。 而zskiplist用于使用分数来查找数据,也支持范围内的查找。虽然zset同时使用了字段和跳跃表,但是这两种数据结构都会通过指针来共享相同的元素和分值,所以不会产生重复的数据,也不会额外占用内存。原创 2023-12-31 19:32:33 · 1310 阅读 · 0 评论 -
【Redis-04】Redis命令在客户端与服务器之间的执行流程
Redis本质上是一个数据结构服务器,支持键值对类型存储的内存管理系统,可以用作数据库、缓存和消息中间件,在我日常的开发中,基本上使用redis作为缓存中间件。在Redis中有两个重要的角色,一个是服务器server,一个是客户端client,他们是一对多的关系,服务器会保存每个与之相连接的客户端的状态信息。本文会从这两个角色,分析客户端和服务器中一些比较重要的属性结构,以及一个命令从客户端发送到服务器接受、处理并返回的实现原理。原创 2024-01-04 09:49:42 · 1297 阅读 · 0 评论 -
【Redis-05】Redis如何实现保存键值对的保存及过期键的管理策略
Redis服务器在启动之初,会初始化RedisServer的实例,在这个实例中存在很多重要的属性结构,同理本篇博客中介绍的数据库实现原理也会和其中的某些属性相关,我们继续看一下吧。原创 2023-12-31 22:02:31 · 1310 阅读 · 0 评论 -
【Redis-06】深入源码彻底搞懂Redis两种持久化方式-RDB和AOF
Redis是基于内存的数据结构服务器,保存了大量的键值对数据,所以持久化到磁盘是非常必要的,Redis提供了两种持久化的方式,分别是RDB和AOF。下面我们看下这两种持久化方式的具体实现原理。原创 2023-12-31 22:11:39 · 1483 阅读 · 0 评论 -
【Redis-07】Redis最重要的时间事件serverCron函数
Redis服务器中的serverCron函数默认每100ms执行一次,这个函数负责管理服务器中的部分资源,并保持服务器自身的良好运转状态。接下来,我们就来梳理一下serverCron函数执行期间做了哪些重要的事情。原创 2023-12-31 21:59:18 · 438 阅读 · 0 评论 -
【Redis-08】Redis主从复制的实现原理
在Redis中,可以通过slaveof命令或者设置那么,127.0.0.1:6379就会成为从服务器,127.0.0.1:6380就是主服务器,主从服务器通过复制会保存相同的数据,这就是。今天我们探讨的重点是,主从服务器之间是如何实现数据复制的,以及slaveof这个命令的实现原理。原创 2023-12-31 22:10:12 · 1082 阅读 · 1 评论 -
【Redis-09】Redis哨兵机制的实现原理-Sentinel
Sentinel是Redis高可用性的解决方案:由一个或者多个Sentinel实例组成的哨兵系统监视多个主从服务器,并实现主从服务器的故障转移。 Sentinel本质上只是一个运行在特殊模式下的Redis服务器,使用以下命令可以启动并初始化一个Sentinel实例: 下面我们看一下,启动一个Sentinel实例后,它做了哪些初始化步骤吧。 首先Sentinel也是一台Redis服务器,所以启动后的第一步就是初始化服务器,但是这里的初始化和之前我们普通的Redis服务器不太一样,有些步骤不需要执行,例如载原创 2024-01-04 09:48:06 · 1572 阅读 · 1 评论 -
【Redis-10】Redis集群的实现原理和实践
Redis集群是Redis提供的分布式数据库方案,通过分片来进行数据共享,实现复制和故障转移的功能。原创 2023-12-31 20:14:51 · 1288 阅读 · 0 评论 -
【Redis-11】Redis事务实现原理
Redis事务,WATCH原理、EXEC、MULTI、事务的底层实现原创 2022-12-20 21:18:23 · 1757 阅读 · 1 评论