高性能系统架构设计之:多级缓存

前言

        为了提高系统的性能,一般会引入“缓存机制”,将部分热点数据存入缓存中,用空间换取时间,以达到快速响应的目的。

        其实,缓存的应用远远不止存在于服务层(传统的Redis缓存),从客户端发起请求开始,经过域名服务器(DNS) → 内容分发服务器(CDN) → 反向代理服务器(Nginx),然后到达我们的分布式系统(ES),再经过分布式缓存服务(Redis、memcache) → 线程内缓存(Spring-cache、guava-cache),最后到达数据库(RDS),整个链路中每个节点都可以使用缓存,这就是所谓的“多级缓存”。其中缓存策略,算法也是层出不穷,今天就带大家走进缓存。

相关文章:

参考文章:


正文

一、两种方式

1.1 传统缓存方式

        考虑到 mysql 的性能瓶颈,传统方案中,只在服务层做一级缓存。

  • 当请求到达 tomcat 后,先去 Redis 中获取缓存,不命中再去 mysql 中获取。
  • 当 mysql 成功获取数据以后,返回给前端的同时,将数据缓存进 Redis 一份,以便下次请求命中。

1.2 多级缓存方式

        多级缓存方案利用请求处理的每个环节,分别添加缓存,使最终到达 tomcat 的请求并发数远小于传统方案,达到减轻服务器压力,提升服务性能的目的。


二、多级缓存介绍

        请收好下面的图 - “多级缓存架构总览”,下面将围

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java Punk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值