做销售网站的公司哪家最好的,广告设计主要学什么,excel网站链接怎么做,制作企业网站首页前言
作为这个时代码代码的秃头人员#xff0c;对Redis肯定是不陌生的#xff0c;如果连Redis都没用过#xff0c;还真不好意思出去面试#xff0c;指不定被面试官吊打多少次。
毕竟现在互联网公司和一些创业公司都要用到Redis#xff0c;像亚马逊、谷歌、阿里、腾讯都要…前言
作为这个时代码代码的秃头人员对Redis肯定是不陌生的如果连Redis都没用过还真不好意思出去面试指不定被面试官吊打多少次。
毕竟现在互联网公司和一些创业公司都要用到Redis像亚马逊、谷歌、阿里、腾讯都要使用可见精通Redis使用真的很有必要。
所以今天则分享出腾讯云大神亲自码出的“redis深度笔记”笔记内容没有讲一句废话全篇看下来都是精华
说明文章限于篇幅故只做部分展示完整的文档 LZ 已经整理好了需要获取这份学习笔记的小伙伴可以添加上小助手vxbjmsb15获取PART1Redis深度笔记开篇
1.Redis可以用来做什么
由Redis面试想到的Redis可以做什么2.Redis基础数据结构
Redis安装Redis基础的数据结构容器型数据结构的通用规则关于Redis使用的一些思考PART2Redis的应用总结
1.分布式锁
分布式锁超时问题可重入性2.延时队列
异步消息队列队列空了怎么办队列延迟空闲连接自动断开锁冲突处理延时队列的实现进一步优化3.位图
基本使用统计和查找魔术指令 bitfield4.HyperLogLog
使用方法pfadd这个pf是什么意思pfmerge适合什么场合用注意事项HyperLogLog实现原理pf的内存占用为什么是12k5.布隆过滤器
布隆过滤器是什么Redis中的布隆过滤器布隆过滤器的基本使用注意事项布隆过滤器的原理空间占用估计实际元素超出时误判率会怎样变化用不上Redis4.0怎么办布隆过滤器的其他应用6.简单限流
如何使用Redis来实现简单限流策略7.漏斗限流
Redis-Cell一些思考8.GeoHash
用数据库来算附近的人GeoHash算法Redis的Geo指令基本使用9.Scan
scan基础使用字典的结构scan遍历顺序字典扩容对比扩容缩容前后的遍历顺序渐进式rehash更多的scan指令大Key扫描PART3Redis的原理
1.线程IO模型
非阻塞IO事件轮询多路复用指令队列响应队列定时任务2.通信协议
RESPRedis Serialization Protocol客户端-服务端服务端-客户端3.持久化
快照原理fork多进程AOF原理AOF重写fsync运维Redis4.0混合持久化4.管道
Redis的消息交互管道压力测试深入理解管道本质5.事务
Redis事务的基本使用原子性discard丢弃优化Watch6.PubSub
消息多播PubSub模式订阅消息结构PubSub缺点7.小对象压缩
32bit vs 64bit小对象压缩存储ziplist内存回收机制内存分配算法8.主从同步
CAP原理最终一致主从同步增量同步快照同步增加从节点无盘复制Wait指令PART4Redis集群
1.Sentinel
消息丢失Sentinel基本使用2.Codis
Codis分片原理不同的Codis实例之间槽位关系如何同步扩容自动均衡Codis的代价Codis的优点MGET指令的操作过程架构变迁Codis的尴尬Codis的后台管理3.Cluster
槽位定位算法跳转迁移容错网络抖动可能下线PFAIL-Possibly Fail与确定下线FailCluster基本使用槽位迁移感知集群变更感知PART5Redis拓展
1.Stream
消息ID消息内容增删改查独立消费创建消费组消费Stream消息太多怎么办消息如果忘记ACK会怎样PEL如何避免消息丢失Stream的高可用分区Partitionhttp://2.Info指令
Redis每秒执行多少次指令Redis连接了多少客户端Redisn内存占用多大复制积压缓存区多大3.再谈分布式锁
Redlock算法Redlock使用场景4.过期策略
过期的key集合定时扫描策略从库的过期策略5.LRU
LRU算法近似LRU算法6.懒惰删除
Redis为什么要懒惰删除lazy freeflush异步队列AOF Sync也很慢更多异步删除点7.优雅地使用Jedis
重试8.保护Redis
指令安全端口安全Lua脚本安全SSL代理9.Redis安全通信
spiped原理spiped使用入门PART6源码
1.探索字符串内部结构
embstr vs raw扩容策略2.探索字典内部
dict 内部结构渐进式rehash查找过程hash 函数hash攻击扩容条件缩容条件set的结构3.探索压缩列表内部
增加元素级联更新IntSet 小整数集合4.探索快速列表内部
每个ziplist存多少元素压缩深度5.探索跳跃列表内部结构
基本结构查找过程随机层数插入过程删除过程更新过程如果score值都一样呢元素排名是怎么算出来的6.探索紧凑列表内部
级联更新取代ziplist7.探索基数树内部
应用结构增删节点总结
最后我想说的是学习并非难事而贵在坚持尤其是在我们参与工作之后要继续坚持学习就更不容易了。但对于程序员来说学习是立业之根本如若放弃学习被市场淘汰是迟早的事情。所以学习更多新的知识对于自己来说才是一种更大的投资。
以上到此结束。