突破Java面试(23)-如何保证redis高并发及高可用
1 面试题
如何保证Redis的高并发和高可用?redis的主从复制原理能介绍一下么?redis的哨兵原理能介绍一下么?
2 考点分析
其实问这个问题,主要是考考你,redis单机能承载多高并发?
如果单机扛不住如何扩容抗更多的并发?
redis会不会挂?
既然redis会挂那怎么保证redis是高可用的?
其实针对的都是项目中你肯定要考虑的一些问题,如果你没考虑过,那确实你对生产系统中的问题思考太少。
3 详解
就是如果你用Redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了
3.1 redis高并发
主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写入数据,单机几万QPS,多从用来查询数据,多个从实例可以提供每秒10万的QPS。
redis高并发的同时,还需要
3.2 容纳大量的数据
一主多从,每个实例都容纳了完整的数据,比如redis主就10G的内存量,其实你就最对只能容纳10g的数据量。
如果你的缓存要容纳的数据量很大,达到了几十g,甚至几百g,或者是几t,那你就需要Redis集群,而且用redis集群之后,可以提供可能每秒几十万的读写并发。
3.3 redis高可用
如果你做主从架构部署,其实就是加上哨兵就可以了,就可以实现,任何一个实例宕机,自动会进行主备切换。
相关文章