vlambda博客
学习文章列表

深入分布式缓存-缓存为王

1.1 什么是缓存

缓存:存储在计算机上的一个原始数据复制集合,以便于访问

缓存作为系统快速响应中的一种关键技术,介于应用开发和系统开发之间,是技术架构设计中非功能性约束。

缓存按照软件系统所处位置不同,缓存大体分为三类:

  • 客户端缓存

  • 服务端缓存

  • 网络中缓存

按照规模与部署方式,缓存可以分为:

  • 单体缓存

  • 缓存集群

  • 分布式缓存

注明:分布式就是通过计算机网络将后端工作分布到多台主机上,多个主机一起协同完成工作

1.2 为什么使用缓存

  • 提高系统响应速度,增强用户体验

  • 提供系统性能

1.3 网站架构看缓存

大型网站系统架构,如下

前端页面缓存,属于客户端缓存,作为第一层缓存,,大大加速了页面的访问速率

数据缓存分布式缓存、动态页面缓存,分布式文件系统,第二层缓存

数据库集群,缓存优化

1.4 客户端缓存

  • 页面缓存

  • 浏览器缓存

  • APP缓存

1.5 网络缓存

  • Web代理缓存 较流行的Squid

  • 边缘缓存 CDN

1.6 服务端缓存

  • 数据库缓存

    • Mysql查询缓存

    • 检验Query Cache合理性

    • InnoDB的缓存性能

  • 平台及缓存

    • Ehcache

  • 应用级缓存

    • Redis缓存应用

    • 多级缓存实例

    • 缓存算法

    • 公共云的缓存服务

      • 动态扩容

      • 数据多备

      • 自动容灾

      • 成本较低