首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Redis
飞天御剑流
创建于2021-05-18
订阅专栏
Redis源码阅读专栏
等 2 人订阅
共16篇文章
创建于2021-05-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Redis6.0.6源码阅读——sentinel原理
前言 本文介绍redis sentinel机制的原理和实现方式,redis可以配置主从模式来进行复制,但是一旦主服务器出问题了需要手工切换服务器,所以主从模式下并没有实现高可用
Redis6.0.6源码阅读——redis启动流程(2. 多线程)
前言 上一篇文章介绍了redis服务器启动过程中,eventloop的初始化和epoll等方法的调用,创建了多个事件处理器用于处理客户端的连接,客户端连接后还会注册读事件。本文从多线程的角度来分析
Redis6.0.6源码阅读——redis启动流程(1. 网络和事件驱动)
前言 本片文章将搭建redis源码debug环境,通过分析main函数流程,了解到redis的网络模型以及事件驱动模型,将redis架构清晰展现。
Redis6.0.6源码阅读——rdb持久化
前言 redis的持久化有aof和rdb两种,上一篇文章介绍了aof的逻辑,aof是增量跟新并且会定期重写aof文件达到缩容的效果,本文会介绍rdb执行流程以及触发方式,了解rdb与aof不同之处。
Redis6.0.6源码阅读——aof持久化
前言 Redis是基于内存的数据库,断电以后内存里面的数据会丢失,Redis支持AOF来进行数据的持久化,提高redis服务的容错性,本文将分析aof源码执行流程分析出aof实现逻辑和策略
Redis6.0.6源码阅读——scan
前言 scan是redis扫描数据库的命令,相比于keys命令来说有更好的性能,本来scan应该放到dict那一篇取讲的,但是之前忘了就新开一篇文章来分析一下scan命令的源码实现 正文 scan命令
Redis6.0.6源码阅读——stream(下)
前言 上一篇stream文章分析了xread含xreadgroup的源码,通过其中的实现方式了解到了消费者组的特点,这篇文章分析剩下的stream命令,了解一下stream还能干些什么事情。
Redis6.0.6源码阅读——stream(中)
前言 上一篇文章解析了stream基础数据结构特点,同时分析了xadd源码了解到了添加消息流程,这篇文章将会完整分析stream命令,通过这些命令源码展现出来stream全部特点。 正文 XGROUP
Redis6.0.6源码阅读——stream(上)
stream是redis5引入的消息队列功能,根据redis作者坦言,stream狠狠的借鉴了kafka的实现,从而在redis当中也能使用到类似kafka的功能。stream设计究竟如何,走进源码
Redis6.0.6源码阅读——数据淘汰
Redis是基于内存的Key——Val数据库,可以通过配置设置最大使用内存量,来避免过多占用服务器内存。当可以内存为零的时候,Redis会主动淘汰一些数据来释放内存空间,这篇文章分析一下Redi
Redis6.0.6源码阅读——事务
前言 Redis也是支持事务命令的,一般事务支持A(原子性)、I(隔离性)、D(持久性)C、(一致性),Mysql实现事务得解决各种问题,实现上也有一定难度,对于Redis来说需要通过源码来看一下事务
Redis6.0.6源码阅读——基础数据结构(rax基数树)【下】
上篇文章介绍了rax树的插入操作原理,这篇文章看看删除代码。插入涉及到了压缩节点的分裂,那么删除则是会导致节点的合并。 正文 在看源码之前在脑海中试想以下删除流程,首先删除的条件是得完全匹配字符
Redis6.0.6源码阅读——基础数据结构(rax基数树)【上】
前言 Redis5引入了一个Stream,根据开发者的自述Stream借鉴了Kafka的功能,所以相当于在Redis里面内置了一个小型的Kafka。查阅相关文章,发现Stream是基于rax基数树实现
Redis6.0.6源码阅读——对象、命令
前面看了redis几个常用的数据结构源码,这篇文章从几个常用命令的角度出发,通过命令的执行流程来看一下redis在执行命令的过程中做了什么。
Redis6.0.6源码阅读——基础数据结构(sds、adlist、zskiplist)
最近开始阅读redis源码,虽然是c语言并不会,但是不影响逻辑阅读,对于内存分配以及回收这一块不太了解,所以不深入探究其中,只要能看懂结构的所占的内存大小和分配时候的代码即可。 正文 SDS(简
Redis6.0.6源码阅读——基础数据结构(dict、ziplist)
上一篇文章介绍了基础sds、skipList等数据结构,这篇文章介绍一下dict和zipList。redis是一个K-V数据库,其本身就是一个map结构,dict是redis的基石,redis就是基于