一、最基本问题
1、如何保证Redis的高并发和高可用?Redis的主从复制原理能介绍一下嘛?Redis的哨兵原理能介绍一下嘛?。面试官心理:其实问这个问题,主要是考考你,Redis单机能承载多高并发?如果单机扛不住如何扩容来抗更多的并发?Redis会不会挂?既然Redis会挂,那怎么保证Redis是高可用的?
2、Redis的持久化方式有哪几种?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
二、Redis高并发跟整个系统高并发之间的关系
1、Redis:你要搞高并发的话,不可避免,要把底层的缓存搞的很好。
2、MySQL:高并发也是通过一系列复杂的分库分表来实现的。订单系统,业务要求的,QPS到几万,比较高了。
要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万。一秒钟几百万的请求量光靠Redis是不够的,但是Redis是整个大型的缓存架构中非常重要的一个环节。
三、如果Redis要支撑10万+的并发,应该如何做
单机的Redis几乎不可能达到10万的QPS。除非一些特殊的情况,比如你的机器性能特别好,配置特别高,物理机维护做的特别好,而且你整体的操作不是很复杂。单机一般是几万。
读写分离,一般来说都是用来支撑读高并发的。写的请求时比较少的。可能写请求也就每秒几千。
四、Redis replication以及master持久化对主从架构的安全意义

五、Redis 主从架构的核心原理

六、Redis主从架构如何做到99.99%的高可用
1、系统处于不可用

2、系统处于高可用

3、redis的不可用

4、redis的高可用

七、哨兵架构的相关基础知识

八、总结
1、redis高并发:主从架构,一主多从,一般来说,很多项目就足够了。单主用来写入数据。单机几万QPS。多从用来查询数据,多个从实例可以提供每秒10万的QPS。
2、redis高并发的同时,还需要容纳大量的数据。一主多从,每个实例都容纳了完整的数据。比如redis主就10g的内存量。其实你就最多只能容纳10g的数据量。如果你的缓存要容纳的数据量很大,达到了几十g。甚至几百g,或者几T。你就需要用redis集群。而且用redis集群之后,可以提供每秒几十万的读写请求。
3、redis高可用:如果你做主从架构部署。其实就是加上哨兵就可以啦。就可以实现,任意一个实例宕机,自动会进行主备切换。
来源:oschina
链接:https://my.oschina.net/u/4326664/blog/4531516