cache-control_网站优化(三):缓存策略优化(CDN/动静分离/Cachecontrol)

news/2024/5/20 0:50:32/文章来源:https://blog.csdn.net/weixin_39716105/article/details/111169669

81cdec11e595b9204b12d827e7feeca3.png

本文是连续更新系列,根据《任霏博客网站程序2020年度大更新》分为网络地域选择、云服务器配置优化、环境搭建优化(JVM)、缓存策略优化、SpringBoot配置优化、前端页面优化等方面分别讨论。

注:本文只根据我的个人经验分享,并非专业测评,部分内容不够专业还请谅解。

上一篇写完了服务器的购买和配置,这篇就写一下缓存策略,这里说的缓存不仅仅是程序中使用的Redis缓存,还包括CDN等外部云服务的缓存,用好了缓存让你的网站瞬间秒开。

站内的缓存

站内缓存优化的思路其实很简单,很多大型网站做数据库的读写分离就是因为基本上大量的请求都是查询,写入的请求比较少,而根据我自己博客的使用场景结合考虑,基本上99%的请求都是获取内容的,只有非常稀少的一部分是评论写入,或者日志记录;同时查询的数据基本也是不会经常改变的,一篇文章不会经常发生变化,所以没有必要每次都从数据库中获取内容,直接将热数据缓存到内存,下次被查询的时候直接从内存中取出即可。

我的程序基本是非常经典的三层架构:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)的结构,我就在业务逻辑层(BLL)也就是服务层上做了缓存,使用包名、方法名、参数作为Key,如果发现有缓存数据直接向表示层(UI)返回缓存结果而不再运行业务逻辑和查库,大大提高了响应速度,如果没有缓存就去查库再缓存,这个很好理解。

动静态分离

动静分离是我好几年前就已经实现的,那个年代叫图床,现在叫CDN,其实说明白就是把图片、js、css等静态的文件交给别人,减轻自己服务器的网络压力,同时利用别人的分发网络将文件投递到全国各个机房,让用户就近访问静态的文件。

我的方案是使用阿里云的OSS对象存储,存储静态文件,保证了文件不会丢失,在这个之前每次网站搬家都会丢失一些文件;然后再使用CDN分发静态文件,使用户访问可用就近读取,同时减轻自己服务器的处理压力。

全站CDN

全站CDN是基于CDN优化而来的,它可以区分出动静态的请求,对其中的静态请求进行缓存,动态请求还是需要回源站的,不过我再套一层全站CDN并不是为了快,而是为了安全,这样可以完全隐藏我源站的IP地址,这样使攻击者无法直接到我的服务器上去扫描服务器的漏洞,在未来可以专门再讲一期安全的知识分享。

HTTP响应头缓存控制

我们除了可以控制自己的缓存策略,还可以控制用户端的缓存策略,在我们响应HTTP请求时,可以在HTTP头信息中增加「Cache-Control」来控制客户端的缓存规则:

Cache-control: must-revalidateCache-control: no-cacheCache-control: no-storeCache-control: no-transformCache-control: publicCache-control: privateCache-control: proxy-revalidateCache-Control: max-age=<seconds>Cache-control: s-maxage=<seconds>

对于应用程序中不会改变的文件,你通常可以在发送响应头前添加积极缓存。这包括例如由应用程序提供的静态文件,例如图像,CSS文件和JavaScript文件:

Cache-Control:public, max-age=31536000

「Cache-control」的使用方法非常的多,就不展开说了,这里只是告诉站长们,如果需要控制客户端的缓存规则,可以去查询一下使用「Cache-control」响应头信息来控制客户端的缓存规则。

f24083e2177555d42b47884f6a310a86.png

长按关注任霏博客微信给你第一手的IT开发者资讯24小时留言互动

点个“在看”

鼓励鼓励

↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_724263.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器快照能代替网站备份吗,云服务器快照还需要备份吗

云服务器快照还需要备份吗 内容精选换一换云硬盘备份可为云硬盘创建备份&#xff0c;利用备份数据回滚云硬盘&#xff0c;以最大限度保证用户数据正确性和安全性&#xff0c;确保您的云硬盘安全。VBS支持全量备份和增量备份。云服务器备份会在备份过程中自动创建快照并且为每个…

与Linux相关的一些网站

2019独角兽企业重金招聘Python工程师标准>>> Mono项目的C#公共语言运行环境&#xff0c;使Linux上能运行C#程序: http://www.mono-project.com/ python官网: https://www.python.org/ perl官网: http://www.perl.org/ GTK项目主页: http://www.gtk.org/ KDE官网: ht…

公司内部SQUID代理HTTPS访问资料网站

同事安装SQUID,我按如下方法加密&#xff1a; 参考URL&#xff1a; http://www.tuicool.com/articles/iYv2YfU 众所周知&#xff0c;在国内访问国外互联网经常无法访问&#xff0c;比如要找资料google上不了&#xff0c;或者去code google想下载代码上不了&#xff0c;&#xf…

查看网站用何种web服务器的命令

查看网站用何种web服务器的命令 http://blog.163.com/huv520126/blog/static/2776523920101030104928998/curl --head xxxxx转载于:https://blog.51cto.com/7499256/1620247

php网页艺术设计,网站美工设计(网页美术设计主要学什么)

网站美工设计网页美工首要分为CSS&#xff0c;DIV和JS三部分。W3C是英文WorldWideWebConsortium的缩写&#xff0c;中文意思是W3C理事会或万维网联盟。W3C安排是对网络规范制定的一个非赢利安排&#xff0c;像HTML、XHTML、CSS、XML的规范就是由W3C来定制。CSS是层叠样式表简称…

php网站开发概念和简介,PHP字符串的概念简介

字符串是指由零个或多个字符构成的一个集合。因为php自诞生之初,就是为web开发而来的。因为网站开发中,字符串处理,是php的一大亮点。php中,1是字符串,2是数组函数,都非常多,非常好用。简单地说&#xff0c;字符串就是我们日常当中说的话&#xff0c;比如我想说“我想学PHP语言…

**apache环境下 禁止显示 index of/ 目录下(如何禁止访问网站根目录)

比如&#xff1a; http://123.57.49.XX6// 当这样访问的时候&#xff0c;可能会列出网站的根目录 如何禁止列出网站目录&#xff0c;方法如下&#xff1a; 让别人知道你的网站目录结构直接查看你目录下的所有文件是很危险的一个事情。 下面介绍解决方法 apache/conf/http.conf…

一个星期自动态的网站设计

&#xff08;现场&#xff1a;http://chentingpc.me&#xff09; 该网站的设计与框架0.1实现版本号&#xff0c;它比共六天了更&#xff0c;将近10个小时56。的确&#xff0c;在做需求分析、页面和系统设计时间占了近4天&#xff0c;态功能的部分仅仅花了两天时间来完毕。当然&…

网页设计如何排成一列_网站首屏制作排版技巧

首屏指的是用户进入网站之后&#xff0c;靠前眼看到的页面&#xff0c;它或许只有一个横幅&#xff0c;一列导航&#xff0c;但是却可以决定用户的去留以及网站的好坏。所以&#xff0c;企业需要做好首屏的排版设计&#xff0c;为用户呈现完美的视觉效果&#xff0c;吸引用户继…

vb 网页客户端发送请求给winform服务端_网站的交互和网页的动态效果

什么是交互呢&#xff1f;我问&#xff0c;你答。我们就是在交互。只有我&#xff0c;就没有交互。所以交互&#xff0c;涉及到两个人。客户端和服务端的交互&#xff1a;客户端用浏览器访问网站地址&#xff0c;服务端返回请求的网页&#xff0c;这是交互。客户端在网站填表单…

MyEclipse网站服务器,MyEclipse中web服务器的三种配置方式

初学Javaweb开发的人们都会遇到一个问题&#xff0c;就是服务器环境的搭建配置问题。下面介绍三种服务器的搭建方式。直接修改server.xml文件当你写了一个web应用程序(jsp/servlet)&#xff0c;想通过浏览器直接去访问这个页面&#xff0c;需要在Tomcat中配置相关路径&#xff…

外贸网站 云服务器,外贸网站 云服务器

外贸网站 云服务器 内容精选换一换在云服务器上搭建网站后&#xff0c;部分客户通过本地网络访问网站时出现偶发性无法访问的情况。确认客户使用的本地网络。若客户的本地网络是NAT网络(本地主机通过NAT功能使用公网IP地址访问弹性云服务器)&#xff0c;可能会导致该问题。若客…

怎么给自己的网站弄ip地址_自己怎么建设网站才能成功?先做好这几点

有些中小型企业在经济发展中&#xff0c;发现建设自己的商城网站可以有不错的营销效果&#xff0c;于是就会想自己先做做看&#xff0c;节约一点开发资金也是可以的。那今天小编就带大家了解下&#xff0c;自己怎么建设网站才能成功?一、设计网页时&#xff0c;需购买主机服务…

用WordPress搭建个人网站(2)

继我的上一篇博客介绍了如何在本地搭建WordPress后&#xff0c;这一篇博客再来介绍下如何在服务器上搭建网站~ 我使用的服务器是阿里云的服务器&#xff0c;我选择阿里云也并不是说我就觉得他有多好&#xff0c;而是学生有优惠活动费用比较便宜(o)/所以要选择服务器的话还是好好…

史上最形象最清晰网站集群物理拓扑及逻辑拓扑图分享!

老鸟谈画图能力对运维人员的重要性http://oldboy.blog.51cto.com/2561410/1686224 手把手带你快速做【最专业】的项目文档实战(已有500人看了视频)http://edu.51cto.com/course/course_id-4992.html手把手带你快速画【最专业】的逻辑架构图实战(已有1000人看了视频)http://edu.…

行业网站设计策划书_壹起航:网站建设和推广中的注意事项

1. 网站建设(yiqihang.cn)之适应性和响应在网站建设规划书中&#xff0c;我们需要澄清这样一个事实:当我们建立网站时&#xff0c;我们需要在适应性和响应性之间做一个简单的区分。这里有一个简短的解释:①适应:它通常是分为两个版本,一个是电脑端,另一个是移动。它经常需要做移…

python带通配符的字符串匹配_Python开发个人专属表情包网站

“表情包”是一种利用图片来表示感情的一种方式。表情包是在社交软件活跃之后&#xff0c;形成的一种流行文化&#xff0c;表情包流行于互联网上面&#xff0c;基本人人都会发表情。曾经你是否也有过找不到表情包去应对别人的时候。今天小编分享如何用Python开发个人专属的表情…

电脑端二维码识别工具_【电脑】【论文小工具】No.2【数学公式识别网站—latexlive】...

(免费)只需要截个图&#xff0c;上传网站就可以将截图中的公式自动转化为 LaTex 代码表达式&#xff0c;我们只需要简单地修改修改就可以直接插入到LaTex或Word中。网站地址在最下方&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…

视频的播放次数统计 php,【杂谈】PHP统计网站访问量:文本计数器的完成要领(图文+视频)...

本篇文章主要给人人引见经由过程PHP文本计数器的要领来完成统计网站接见量的功用。网站接见量是视察网站流量状况的主要考核要素之一&#xff0c;那末我们怎样经由过程PHP来完成统计网站接见量&#xff1f;实在人人只需控制了完成的思绪&#xff0c;就会异常轻易理解了。也就是…

php 获取网站应用目录结构,go代码目录结构规划以及获取远程包

golang的代码目录一般先设置go的工作空间。go 命令依赖环境变量&#xff1a;$GOPATH 运行&#xff0c;设置好go的工作空间之后一般生成3个文件夹&#xff1a;src、bin、pkgsrc用来存放源代码(比如&#xff1a;.go .c .h .s等)该目录就是接下来开发程序的主要目录pkg 编译后生成…