视频直播源码中采用的浏览器缓存方式

本文涉及的产品
视频直播,500GB 1个月
简介:

常用缓存方式
MemoryCache内存中的缓存,主要包含当前页面中已经抓取到的资源,页面上已经下载的样式、脚本、图片等。读取内存中的数据肯定比磁盘快,内存缓存虽然读取速度快,但缓存持续性很短,会随着进程的释放而释放。
计算机中的内存容量必定比硬盘容量低,如果都将缓存放置在内存中,必然会造成电脑卡顿等问题。

DiskCache存储在硬盘中的缓存,读取速度慢,但胜在容量上,什么都能存储到磁盘中,有更高的内存时效性。
在所有浏览器缓存中,DiskCache覆盖面是最大的,它会根据HTTP Herder中的字段判断哪些资源需要缓存,哪些资源可以不请求直接使用。哪些资源应经过期需要重新请求。并且即使在跨站点的情况下,相同地址的资源一旦被硬盘缓存下来,就不会再次去请求。

强缓存
强缓存不会向服务器发送请求,直接从缓存中读取资源,在chrome控制台的Network选项中可以看到该请求返回200的状态码,并且Size显示from disk cache或from memory cache。强缓存可以通过设置两种HTTP Headere实现:Expires和Cache-Control
1.Expires,缓存期间,用来指定资源到期的时间,是服务器端口的具体时间点。也就是说,Expires=max-age+请求时间,需要和Last-modified结合使用,Expires是Web服务器相应消息头子段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存存取数据,无需再次请求。
2.Cache-Control,在HTTP中,Cache-Control是最重要的规则,主要用于控制网页缓存。
3.对于两者之间的对比,相差并不是很大,Expires是http1.0的产物,Cache-Control是http1.1的产物,两者同时存在的话,cache-control的优先级高于Expires,在某些不支持http1.1的环境下,Expires就会发挥其用处。所以,简单点来说,Expires其实是过时的产物,现阶段它的存在只兼容一种写法。

目录
相关文章
|
6月前
|
存储 缓存 Java
干翻Mybatis源码系列之第八篇:Mybatis二级缓存的创建和存储
干翻Mybatis源码系列之第八篇:Mybatis二级缓存的创建和存储
|
2月前
|
缓存 Java 开发工具
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
三级缓存是Spring框架里,一个经典的技术点,它很好地解决了循环依赖的问题,也是很多面试中会被问到的问题,本文从源码入手,详细剖析Spring三级缓存的来龙去脉。
204 24
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
|
1月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
56 3
|
6月前
|
缓存 Java 关系型数据库
Spring Boot与Spring中的数据缓存Cache支持与实战(附源码)
Spring Boot与Spring中的数据缓存Cache支持与实战(附源码)
83 0
Spring Boot与Spring中的数据缓存Cache支持与实战(附源码)
|
6月前
|
缓存 Java 测试技术
Spring5源码(19)-Spring从缓存中获取单例bean
Spring5源码(19)-Spring从缓存中获取单例bean
38 0
|
6月前
|
缓存 Java 数据库连接
|
6月前
|
存储 设计模式 Java
Mybatis源码细节探究:二级缓存Cache对象是在什么时候创建的?
Mybatis源码细节探究:二级缓存Cache对象是在什么时候创建的?
|
6月前
|
缓存 Java 数据库连接
干翻Mybatis源码系列之第八篇:Mybatis提供的缓存方案细节注意
干翻Mybatis源码系列之第八篇:Mybatis提供的缓存方案细节注意
|
6月前
|
设计模式 缓存 Java
干翻Mybatis源码系列之第七篇:Mybatis提供的集成缓存方案
干翻Mybatis源码系列之第七篇:Mybatis提供的集成缓存方案
|
6月前
|
存储 缓存 Java
【干翻Mybatis源码系列】Mybatis缓存方案第一篇 之 Mybatis缓存方案概述
【干翻Mybatis源码系列】Mybatis缓存方案第一篇 之 Mybatis缓存方案概述
下一篇
无影云桌面