暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一个月学习Redis

阿斌Java之路 2022-11-07
370

终于等到你,开始学redis了。redis作为工作中常用的技术栈,面试也经常被搭配着架构设计一起来考察。可以说搞懂了redis和相关的架构设计,再将这个话题引到深处,面试官基本就能对你感到非常满意了。

这次我们打算一个月学好Redis,这次不仅有基础知识,还会搭配着架构设计的文章一起学习。

img

《Redis设计与实现》

img

只要有用过redis的,基本没必要去看那些简单的使用,还是推荐直接开始啃书。这本redis的神书受到很多人的推荐,阿斌看下来之后,发现覆盖的特别全面,而且每章都有种豁然开朗的感觉,基本看完就能吃透redis的底层运行流程。

黑马Redis课程

img

本来不打算推荐视频的,但是这个视频很不一样,里面教的不是基础,而全部都底层原理和实战干货。特别是IO多路复用的那几个视频,把原理说的比市面上的视频都清晰,值的一看。但是实战干货只适合工作一年以内的程序员,有经验的基本可以不用看。

《Redis 核心技术与实战》

img

这本极客时间的专栏也特别棒,里面每个章节,还有个大神跟读,在里面做总结的笔记,也收获了非常多的粉丝。

学有余力的同学可以去拍下一门,一定不会后悔。

5种基础结构+场景+三种特殊结构+场景
字典表+渐进式rehash+扩缩容+高位进位法遍历https://mp.weixin.qq.com/s/ufoLJiXE0wU4Bc7ZbE9cDQ
持久化+aof+rdb+aof瘦身
管道pipline
主从同步增量同步,如果延时太久,就快照同步,小心速度慢,导致无限快照同步
指令安全 rename-command 配置文件配置rename-command keys abckeysabc 或者rename-command flushall ""
set的底层数据结构基于inset和ziplist实现。
zset有两个不同的实现:zipList和skipList。
list的底层采用ziplist和quicklist
sds ziplist listpack取代ziplist
https://www.51cto.com/article/704728.html
为什么zet用跳表,innodb用b+树https://blog.csdn.net/Edwin_Hu/article/details/125074736。写入效率,查询效率,多级,二分
共享对象只有整数
过期字典,过期键删除-定时-定期-惰性 采用惰性+定期 过期对持久化操作的影响,过期操作,内存淘汰流程
RDB save bgsave 条件达成的判断,源于server结构的三个参数,RDB结构
AOF 三种同步模式,恢复过程 aof后台重写父子进程兼容性,管道通信 ,管道缓冲区保存新命令
两者配合的实现原理
事件 文件事件 时间事件,启动运行原理
客户端,服务端运行原理
服务端启动,后台运行,线程逻辑,关闭文件,aof,惰性删除。6.0还增加了多线程读写缓冲区,命令解析的准备,执行还是同一个线程
复制-主从复制细节 slave of,断线重复制。主从原理,双向互为客户端,主服务器主动推送传播命令。从服务器每隔一段时间主动发Psync命令确保没误差
sentinel监视主服务器,从服务器,sentinel。下线共识,领头sentinel选举。故障转移.raft选举。发布订阅了解互相
集群cluster meet。moved命令重定向 cluster keyslot “msg”查询key所在槽位。集群节点对每个key对应槽位的一个跳跃表。重新分片原理。节点导入槽的过程中,客户端需要先发送asking命令再发消息,否则会被moves重定向。集群下的从节点clister replicate。集群不需要sentinel,因为集群中的节点会达成共识算法,这也是为啥集群需要3个的原因。
为啥要集群,单机内存太多,影响rdb。但是单机内存不够又不行。{type}为前缀,控制分片位置
事务

推荐阅读文章

阿里云redis场景解决方案:https://www.alibabacloud.com/help/zh/apsaradb-for-redis/latest/apsaradb-for-redis-supports-double-11-shopping-festival

阿里云热key的发现与解决:https://www.alibabacloud.com/help/zh/apsaradb-for-redis/latest/discover-and-resolve-the-hotkey-issue

京东热keyhttps://mp.weixin.qq.com/s/xOzEj5HtCeh_ezHDPHw6Jw

学习圈子

学习一个知识点,最重要的当然是要有一个圈子啦。所有遇到的问题一起讨论,才能不断完善自己的知识边界,快来加阿斌好友,拉群学习吧

img

点个再看可以截图找阿斌领取一套Redis学习资料大礼包哦

文章转载自阿斌Java之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论