前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis不止缓存!百度强推“Redis成长笔记”我粉了

Redis不止缓存!百度强推“Redis成长笔记”我粉了

作者头像
烂猪皮
发布2021-01-13 11:14:41
3800
发布2021-01-13 11:14:41
举报
文章被收录于专栏:JAVA烂猪皮JAVA烂猪皮

Redis

相信大家对于Redis第一印象都是“缓存”,它相比Memcache 而言更加易于理解、使用和控制。但Redis作为互联网技术领域使用最为广泛的存储中间件,其实还是有很多其他的应用场景的。当系统的并发量达到一定的量级,流量涨上来了,Redis的其他功能就需要应用起来了。

Redis到底有多重要?

先不提其超高的性能,就国内外很多大型互联网公司以及很多中小型公司都有应用这一点就能表明,Redis已成为当下中高级后端开发者绕不开的必备技能!如果不能深入地了解Redis背后的深层原理,很多问题根本无法理解到本质,更谈不上解决。那么要如何对Redis知其然也知其所以然,为未来进阶成长为架构师做好准备呢?不要慌,互联网雷锋(小编我)前段时间我刚好从百度一位朋友那里得到一份其内部“Redis成长笔记”,看完真的差距不止一点点!

基础篇

  • Redis安装
  • Redis基础数据结构
  1. string (字符串)
  2. lit (列表)
  3. hash (字典)
  4. set (集合)
  • 容器型数据结构的通用规则

应用篇

(分布式锁、延时队列、位图、HyperLogLog、布隆过滤器、简单限流、漏斗限流、GeoHash、Scan)

  • 分布式锁
  1. 分布式锁
  2. 超时问题
  3. 可重入性
  • 位图
  1. 基本使用
  2. 统计和查找
  3. 魔术指令bitfield
  • 布隆过滤器
  1. 布隆过滤器是什么?
  2. Redis中的布隆过滤器
  3. 布隆过滤器基本使用
  4. 注意事项
  5. 布隆过滤器的原理
  6. 空间占用估计
  7. 实际元素超出时,误判率会怎样变化
  8. 用不上Redis4.0怎么办?
  9. 布隆过滤器的其它应用
  • 漏斗限流
  1. Redis-Cell
  2. 小结

原理篇

(线程 IO模型、通信协议、持久化、管道 、事务、PubSub、小对象压缩、主从同步)

  • 线程 IO模型
  1. 非阻塞IO
  2. 事件轮询(多路复用)
  3. 指令队列
  4. 响应队列
  5. 定时任务
  • 持久化
  1. 快照原理
  2. fork(多进程)
  3. AOF原理
  4. AOF重写
  5. fsync
  6. 运维
  7. Redis 4.0混合持久化
  • 主从同步
  1. CAP原理
  2. 最终一致
  3. 主从同步
  4. 增量同步
  5. 快照同步
  6. 增加从节点
  7. 无盘复制
  8. Wait指令

集群篇

(Sentinel、Codis、Cluster)

  • Sentinel
  1. 消息丢失
  2. Sentinel基本使用
  • Codis
  1. Codis分片原理
  2. 不同的Codis实例之间槽位关系如何同步?
  3. 扩容
  4. 自动均衡
  5. Codis的代价
  6. Codis的优点
  7. MGET指令的操作过程
  8. 架构变迁
  9. Codis的尴尬
  10. Codis的后台管理
  • Cluster
  1. 槽位定位算法
  2. 跳转
  3. 迁移
  4. 容错
  5. 网络抖动
  6. 可能下线(PALPossibll Fail与确定下线(Fail)
  7. Cluster基本使用
  8. 槽位迁移感知
  9. 集群变更感知

拓展篇

(Stream、Info 指令、再谈分布式锁、过期策略、LRU、懒惰删除、优雅地使用 Jedis、保护 Redis、Redis 安全通信)

  • 再谈分布式锁
  1. Redlock算法
  2. Redlock使用场景
  • LRU
  1. LRU算法
  2. 近似LRU算法
  3. 扩展阅读
  • Redis 安全通信
  1. spiped原理
  2. spiped使用入门

源码篇

(探索「字符串」、「字典」、「[压缩列表」、「快速列表」、「跳跃列表」、「紧凑列表」、「基数树」内部结构)

  • 字符串
  1. embstr vs raw
  2. 扩容策略
  • 探索「跳跃列表」内部结构
  1. 基本结构
  2. 查找过程
  3. 随机层数
  4. 插入过程
  5. 删除过程
  6. 更新过程
  7. 如果score值都-样呢?
  8. 元素排名是怎么算出来的?
  • 探索「基数树」内部
  1. 应用
  2. 结构
  3. 增删节点

由于篇幅限制,就只能以这样的形式展示出部分内容了,还望大伙谅解

写在最后

Redis涉及的知识点是非常繁多的,单靠一份笔记肯定无法顾及到Redis的方方面面,但这份Redis成长笔记对于那些渴望进步拓展知识的朋友一定会有帮助!作为程序员的我们千万千万不要停止学习!!一定要为自己以后的架构路打好基础。

最后就是资料的获取方式了!由于篇幅限制,就只能这样展示出来了,需要的朋友评论+转发,关注我之后直接私信【666】即可百分百免费获取!


—END—

关注作者微信公众号 —《JAVA烂猪皮》

了解更多java后端架构知识以及最新面试宝典

你点的每个好看,我都认真当成了

看完本文记得给作者点赞+在看哦~~~大家的支持,是作者源源不断出文的动力

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA烂猪皮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis
  • Redis到底有多重要?
  • 基础篇
  • 应用篇
  • 原理篇
  • 集群篇
  • 拓展篇
  • 源码篇
  • 写在最后
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档