redis cluster扩容原理 redis动态扩容原理步骤

玩转Redis的高可用(主从、哨兵、集群)Redis主从复制是指在一个Redis集群中,将一个Redis节点作为主节点,其余的Redis节点作为从节点 。主节点负责写入数据 , 从节点负责读取数据 。
Redis的哨兵机制就是解决主从复制存在缺陷(选举问题),解决问题保证我们的Redis高可用,实现自动化故障发现与故障转移 。要使用哨兵机制 , 除了启动Redis服务以外 , 还要启动哨兵服务来进行监控,会介绍详细步骤 。
redis高可用:如果你做主从架构部署,其实就是加上哨兵就可以了,就可以实现 , 任何一个实例宕机,自动会进行主备切换 。
面试中问到Redis持久化的原理,本篇在做详细解答【redis cluster扩容原理 redis动态扩容原理步骤】可在redis.conf中配置,会以一段时间内达到指定修改的次数为规则来触发快照操作,快照文件名为dump.rdb 。每当Redis服务重启的时候都会从该文件中把数据加载到内存中 。在60秒内有10000次操作即触发RDB持久化 。
RDB 持久化机制 :是对 redis 数据执行周期性的持久化 。这种方式就是将内存中数据以快照的方式写入到二进制文件中 , 默认的文件名为 dump.rdb 。客户端也可以使用save或者bgsave命令通知redis做一次快照持久化 。
AOF(append only file)持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的 。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式 。
redis提供两种方式进行持久化 , 一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件) 。
在redis的配置里有着这样的一段配置:save 900 1save 300 10save 60 10000很关键的一段配置,这时RDB持久化的核心 。
为什么Redis数据库内存不宜过大因为redis无法像MySQL、MongoDB那样基于同步的点位在主库发生变化后从新的主库继续同步数据 。在redis集群中一旦从库换主 , redis的做法是将更换主库的从库清空然后从新主库完整同步一份数据再进行续传 。
redis这个内存数据库,它的高性能、稳定性都是不用怀疑的,但我们塞进redis的数据过多,内存过大,那如果出问题,那它可能会带给我们的就是灾难性 。
因为redis的数据都是存储在内存当中 。内存数据库相比一般的关系型数据库,读取速度要更快 , 但是消耗的内存资源会更多 。对象内存(推荐学习:Redis视频教程)对象内存是Redis内存占用最大的一块 , 存储着用户所有的数据 。

    推荐阅读