50道Redis高频面试题(13-20)

2022/8/31 2:22:48

本文主要是介绍50道Redis高频面试题(13-20),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

十三、线上Redis持久化策略一般如何设置

如果对性能要求较高,在master最好不要做持久化,可以在某个slave开启aof备份数据,策略设置为每秒同步一次即可。

十四、一次线上事故,Redis主节点宕机导致数据全部丢失

如果你的Redis采用如下模式,就会发生数据丢失问题:

  • master-slave + 哨兵部署实例。
  • master没有开启数据持久化功能。
  • Redis进程使用supervisor管理,并配置为进程宕机,自动重启。
    如果此时master宕机,就会导致下面问题:
  • master宕机哨兵还未发起切换,此时master进程立即被supervisor自动拉起。
  • 但master 没有开启任何数据持久化,启动后是一个空实例。
  • 此时slave 为了与master保持一致,他会自动清空实例中的所有数据,slave也变成一个空实例。
    这个场景下master/slave的数据就全部丢失了。
    这时,业务应用在访问Redis时,发现缓存中没有任何数据,就会把请求全部打到后端数据库中,这还会进一步引发缓存雪崩。
    这种情况下,我们一般不应该给Redis主节点配置京城宕机马上自动重启策略,而是应该等哨兵吧某个slave切换为master之后,再重启之前宕机的节点让其变成slave。

十五、Redis如何做綫上备份

1、写crontab定时调度脚本,每小时都copy一份rdb或aof文件到另一台机器中,保留最近48小时的备份。
2、每天都保留一份当日的数据备份,到一个目录中,可以保留最近一个月的备份。
3、每次copy备份的时候,都把太旧的备份删除。

十六、Redis主从复制风暴是怎么回事

如果Redis主节点有很多从节点,在某一时刻如果所有从节点都同时连上主节点,那么主节点会同时吧内存快照RDB发给多个从节点,这样会导致Redis主节点压力过大,这就是所谓的Redis主从复制风暴问题。
这个问题我们对Redis主从架构做一些优化得以避免,比如可以做下面这种树形复制架构。

十七、Redis集群网络抖动导致频繁主从切换怎么处理

十八、Redis集群为什么至少需要三个master节点、为什么推荐奇数个节点

因为新的master的选举需要大于半数的集群master节点同意才能选举成功,如果只有两个master节点,当其中一个挂了,是达不到选举master条件的。
奇数个master节点可以在满足选举条件的基础上,节省一个节点,比如三个master和四个master相比,都挂了一个master,都可以选举,都挂了两个就都不能选举了。所以技术的master节点更多的是从节省机器资角度出发的。

十九、Redis集群支持批量操作命令嘛

对于类似mset、mget这样多个key的原生批操作命令,redis集群只支持所有key落在同一个solt的情况,入股分布在多个solt就会报错,如果在key前面加上{XXX},这样参数数据分片hash计算的时候只会是大括号里的值,这样就确保不同的key在同一个slot中。

mset {user}:1:name wqx {user}:1:age:18

二十、Redis主从切换分布式锁丢失的问题



这篇关于50道Redis高频面试题(13-20)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程