下图展示了引入缓存后系统的架构。通过使用缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。
视频讲解如下:
一般情况下数据存在数据库中,应用程序直接操作数据库。当应用程序访问量上万,数据库压力突然增大,如果需要减轻数据库服务器的压力,有以下方法:
- 数据库读写分离
- 数据库分库分表
- 使用缓存并实现读写分离
缓存的作用是将应用程序已经访问过的内容或数据存储起来,当应用程序再次访问时先找缓存,缓存命中返回数据。不命中再查询数据库,并保存到缓存。但缓存也存在以下几个主要的缺点:
- 系统中引入缓存,会增加系统的复杂度。
- 由于缓存相比原始数据库存储的成本更高,所以系统部署及运行的费用也会更高。
- 由于一份数据同时存在缓存和数据库中,甚至缓存内部也会有多个数据副本,多份数据就会存在一致性问题。