ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Redis面试篇

2026/10/7 10:07:16 拓冰建站 浏览量
Redis面试篇 1.Redis主从集群2.Redis主从同步原理过程当slave节点第一次和master建立主从关系建立连接或连接建立完了后断开重连时salve都会去做同步发pysnc请求在请求中携带俩个参数replicationID和offestmaster就需要去判断slave是第一次来还是断开重连.判断依据就是repliicationId,因为在没有建立主从关系前提下每一个节点都认为自己是master他们都会有自己唯一的replication的id。而一旦建立主从关系master就会给每个节点生成统一的id。所以你第一次来携带的id只需要比较一下如果不一样就是第一次来那么就要做全量同步。同步方式就是用bgsave把redis内存中所有数据都写在RDB文件中然后发给slave,salve只需要把本地数据删了然后把RDB文件加载到内存实现全量同步俩者数据一致。后续master不断接受命令每当master执行写操作时都会把写命令传播给slave,salve也去执行这样两者数据永远保持一致。万一在这传播i命令过程中slave出现宕机或者网络故障那msater发送的命令slave就会没收到于是俩者数据就会出现差异。那么这是slave断开重连想要恢复数据其实就是想找到自己断开时缺失的命令那怎么找到呢master里面会有一个缓冲区repl_backlog它会去记录master执行过的所有写操作并且会有一个offest记录。当slave接收命令执行完后也会有一个offest记录那么在执行同步时就会把offest传过去master发现不是第一次来就是增量同步他就会比较一下自己的offest和salve的offest俩这之间差异就是slave还没执行的命令。master只需把这些命令发给slave,salve去执行就会实现数据一致。注repl-backlog不是无限制大小底层采用环形数组当写满是就会覆盖初始数据。3.Redis主从集群优化4.Redis主从哨兵原理5.Redis分片集群6.Redis分片集群-散列插槽7.Redis数据结构-RedisObeject8.Redis数据结构-SkipList8.Redis数据结构-SkipList9,Redis数据结构-SortedSet10.Redis内存回收10.1过期key处理10.2内存淘汰策略11.Redis缓存-缓存一致性12.缓存穿透13.缓存雪崩14.缓存击穿