前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发常说的「缓存」到底是什么?

开发常说的「缓存」到底是什么?

作者头像
产品的技术小课
发布2022-04-01 20:53:04
7350
发布2022-04-01 20:53:04
举报
文章被收录于专栏:产品的技术小课

你有没有遇到过这种场景:

当开发发布好项目后,让你线上体验时,你总是刷到老的页面,

接着开发就会说:有缓存,“强刷”一下页面,新的页面就出来了。

然后你操作一番,新页面就真的出来了。

这是为啥呢?今天就给大家做个解释。

1. 什么是缓存?为什么要使用缓存?

说的通俗点,缓存就是临时存放数据的一个“地方”。

缓存有什么作用呢?

使用缓存,都是为了提升性能。

比如你使用了浏览器的“HTTP缓存”来缓存静态资源(就是html/css/js文件),

当你第一次访问一个网站时,浏览器会发起请求从云端拉取,这时候浏览器就会把html、css、js缓存在浏览器内存中,

当你第二次再访问这个网站时,浏览器首先会检测缓存中是否存在这些目标文件,

如果存在的话就直接从缓存中读取,否则就发起请求读取。

直接从缓存中读取文件的话,就加快了页面打开的速度。

这就解答了开篇说的问题啦,当我们发布新版本时,其实每个更改了的文件的文件名基本都会发生变化的,

但是html文件的名字是不会变的,如果html被缓存了,那么你发布了新版本,

当你访问网站时,那极有可能访问到的还是缓存里面的html文件。

所以你看到的还是老的页面。那么这该如何解决呢?

其实我们是可以设置缓存时间的,一般会把html缓存时间设置的短一点,

比如1小时,或者是直接不缓存html文件,这个策略就看具体的业务场景啦。

还有一个办法就是上文说的“强刷”啦,其实“强刷” 就是清缓存的一个操作。

2. 缓存的分类和应用场景

缓存的种类,按照缓存的“地方”不同,我们可以分成以下类型:

1. 浏览器缓存

浏览器缓存指的是缓存数据在浏览器内存中。

浏览器缓存还可以细分为HTTP缓存、localstorage、sessionstorage、indexDB等等。

这里有点超纲了。我就讲我们最常见的HTTP缓存吧。

HTTP缓存就是上文提到的“页面缓存”啦。

我们可以设置缓存的文件类型、缓存的时间。

2. 服务器缓存

服务器缓存指的是缓存数据在服务器中。

我们最常见的服务器缓存就是redis,相信有些同学也听过。

redis一般用来缓存不经常变化的数据,比如登录态。

目的是为了降低数据库压力和加快访问数据的速度。

服务器缓存还可以细分redis、kafka、CDN等等。

到这里就讲完啦~

咱们下期见!🤓

--- end ----

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 产品的技术小课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 什么是缓存?为什么要使用缓存?
  • 2. 缓存的分类和应用场景
    • 1. 浏览器缓存
      • 2. 服务器缓存
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档