☰
从0开始学架构-17:高性能缓存架构
2026/10/15 9:31:33 网站建设 项目流程

虽然我们可以通过各种手段来提升存储系统的性能,但在某些复杂的业务场景下,单纯依靠存储系统的性能提升是不够的,典型的场景有:

·  需要经过复杂运算后得出的数据,存储系统无能为力

例如,一个论坛需要在首页展示当前有多少用户同时在线,如果使用MySQL来存储当前用户状态,则每次获取这个总数都要“count(*)”大量数据,这样的操作无论怎么优化MySQL,性能都不会太高。如果要实时展示用户同时在线数,则MySQL性能无法支撑。

·  读多写少的数据,存储系统有心无力

绝大部分在线业务都是读多写少。例如,微博、淘宝、微信这类互联网业务,读业务占了整体业务量的90%以上。以微博为例:一个明星发一条微博,可能几千万人来浏览。如果使用MySQL来存储微博,用户写微博只有一条insert语句,但每个用户浏览时都要select一次,即使有索引,几千万条select语句对MySQL数据库的压力也会非常大。

缓存就是为了弥补存储系统在这些复杂业务场景下的不足,其基本原理是将可能重复使用的数据放到内存中,一次生成、多次使用,避免每次使用都去访问存储系统。

缓存能够带来性能的大幅提升,以Memcache为例,单台Memcache服务器简单的key-value查询能够达到TPS 50000以上,其基本的架构是:

(http://pic001.cnblogs.com/img/dudu/200809/2008092816494460.png)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询