1.前言
(1) 在一个订单系统,对高并发,有事务要求,mysql一般是通过一系列复杂的分库分表,QPS能达到几万,就已经很高了
(2) 如果要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万,一秒钟百万的请求量。
- 光是redis是不够的,但是redis是整个大型的缓存架构中,支撑高并发的架构里面,非常重要的一个环节。
- 你的底层的缓存中间件,缓存系统,必须能够支撑的起我们说的那种高并发;其次,再经过良好的整体的缓存架构的设计(多级缓存架构、热点缓存),支撑真正的上十万,甚至上百万的高并发
(3) Q:redis不能支撑高并发的瓶颈在哪里?
A:单机
2.redis要支撑超过10万+的并发,那应该怎么做
-
单机的redis几乎不太可能说QPS超过10万+,一般在几万。除非一些特殊情况,比如你的机器性能特别好,配置特别高,物理机,维护做的特别好,而且你的整体的操作不是太复杂
-
使用读写分离
一般来说,对缓存,一般都是用来支撑读高并发的,写的请求是比较少的。可能写请求也就一秒钟几千,但有大量的请求都是读,一秒钟二十万次读 -
redis replication
主从架构 -> 读写分离 -> 支撑10万+读QPS的架构
1个master写,多个slave读,达到可支持水平扩展的读高并发架构