缓存学习笔记 | 青训营

100 阅读1分钟

前言 以哔哩哔哩网站为例,分析。

1.      缓存及其作用

缓存能提升性能

  • 绝大多数情况下,select 是出现性能问题最大的地方。一方面,select 会有很多像 join、group、order、like 等这样丰富的语义,而这些语义是非常耗性能的;另一方面,大多 数应用都是读多写少,所以加剧了慢查询的问题。

  • 当用户请求增多时,数据库的压力将大大增加,通过缓存能够大大降低数据库的压力

缓存三种模式

Cache Aside 【同时更新缓存和数据库】

Read/Write Through 【先更新缓存,缓存负责同步更新数据库】

Write Behind Caching 【先更新缓存,缓存定时异步更新数据库】

主要介绍第一种 Cache Aside 失效:应用程序先从 cache 取数据,没有得到,则从数据库中取数据,成功后,放到缓存中。
命中:应用程序从 cache 中取数据,取到后返回。
更新:先把数据存到数据库中,成功后,再让缓存失效。

2.      案例分析

1.1.png

1.2.png

1.3.png Cache-control:max-age=31536000

单位为秒,31536000为一年,表示有一年的有效期。

Access-Control-Allow-Origin:*     *表示允许所有域名访问。访问来源管控较松。

Content-Type:text/css    内容类型为CSS

静态资源方案:缓存+CDN+文件名hash;

CDN