redis
文章平均质量分 77
5ycode
这个作者很懒,什么都没留下…
展开
-
为什么redis的zset用跳跃表而不用b+ tree?
redis设计本身使用的是极简思想,跳跃表的操作,比二叉树简单,不需要考虑平衡,实现起来也简单,我觉的这个是重点redis是纯内存操作,不需要考虑磁盘IO的次数(一个*header可以理解为一个数据页,只不过是在内存里)MySQL为了持久化,需要考虑磁盘IO,利用数据页,系统缓存,减少磁盘的操作顺序如果这个问题反过来就好解释了,MySQL为什么用B+Tree 而不用跳表层低,磁盘IO少性能稳定平衡到达每一个叶子节点的路径都固定就上面的两个,实现复杂度高了也无所谓。原创 2023-02-21 09:58:39 · 2075 阅读 · 1 评论 -
redis序列化协议RESP
在阅读redis的源码的时候,一直忽略了一个问题,redis的通信协议,今天就来简单的了解下。原创 2022-09-02 18:47:38 · 421 阅读 · 0 评论 -
redis详解(内部分享版)
在高并发的应用中,缓存是必不可少的,redis是应用比较广泛的,从底层原理,数据结构了解下它。原创 2022-08-04 11:42:56 · 1049 阅读 · 0 评论 -
redis源码阅读-zset
前段时间给小伙伴分享redis,顺带又把redis撸了一遍了,对其源码,又有了比较深入的了解。(ps分享的文章再丰富下再放出来)。原创 2022-07-31 12:37:39 · 589 阅读 · 0 评论 -
基于python3封装的redis stream操作
基于python3封装的redis stream操作。原创 2022-04-11 19:25:29 · 2766 阅读 · 2 评论 -
redis源码阅读-rehash详解
通过本文,你能了解redis rehash的整个过程,以及为什么要用渐进式hash原创 2022-03-27 19:42:35 · 2376 阅读 · 0 评论 -
redis源码阅读-持久化之aof与aof重写详解
通过本篇,你可以详细了解redis的aof的实时写入以及重写机制。原创 2022-03-19 22:09:52 · 1432 阅读 · 0 评论 -
阅读redis持久化RDB源码的时候一些c知识
阅读redis持久化rdb的时候,涉及到的c知识,记录一下。原创 2022-03-14 18:47:58 · 2795 阅读 · 0 评论 -
redis源码六-redis中的缓存淘汰策略处理分析
redis的LRU真的是先清理最长没访问的数据吗?LFU真的是先清理最不经常被访问的码?看完这篇,你就明白了。原创 2021-12-24 09:13:24 · 356 阅读 · 0 评论 -
redis源码阅读五-为什么大量过期key会阻塞redis?
为什么key过期了不触发过期事件?为什么大量key过期会阻塞redis?通过源码来彻底了解下定期删除的底层机制。原创 2021-12-20 09:13:21 · 2595 阅读 · 0 评论 -
redis源码阅读四-我把redis6里的io多线程执行流程梳理明白了
通过redis6.2分支的源码,让你彻底理解redis io多线程到底是怎么工作的。对源码没兴趣的也可以直接看总结。原创 2021-12-15 23:53:36 · 502 阅读 · 0 评论 -
redis源码阅读三-终于把主线任务执行搞明白了
大家可能都能说下redis的执行流程,但是落地到代码里它是怎么执行的呢?通过这篇文章,你可以从源码层面了解redis的监听、请求解析、执行命令、写回数据的流程。原创 2021-12-14 09:15:00 · 1268 阅读 · 0 评论 -
redis源码阅读二-终于把redis的启动流程搞明白了
阅读redis的源码永远也绕不过它的启动。希望这篇文章能给大家带来一些东西。原创 2021-12-10 19:50:48 · 635 阅读 · 0 评论 -
redis源码阅读-入门篇
redis源码阅读的准备环境,以及redis源码模块的简单介绍原创 2021-12-08 09:08:40 · 677 阅读 · 0 评论 -
Redis LFU 实现 -- 掷硬币的艺术
给大家分享一篇文章,讲解redis LFU的实现的。越看redis的源码越有味道,里面的实现机制真实巧妙。转载 2021-12-07 09:44:25 · 155 阅读 · 0 评论 -
redis的key过期了还能取出来?
redis的key过期了,还能取出来?从源码层面分析下根本原因。原创 2021-12-01 09:51:07 · 5083 阅读 · 1 评论 -
一文读懂redis的zset
zset的数据结构在redis中有一个有序列表,它的底层是由压缩列表或跳表组成。我们看下对应的数据结构压缩链表:跳表:下载下来4.0的源码 https://download.redis.io/releases/redis-4.0.0.tar.gz对应的源码:src/server.h# 最大层级#define ZSKIPLIST_MAXLEVEL 32 /* Should be enough for 2^32 elements */# 表示上一层级是下一层级的1/4,相当于是一棵四叉树#d原创 2021-07-23 18:30:47 · 529 阅读 · 0 评论