WHT中文站 网站建设 网站缓存的类型以及如何设置它们以加快加载时间

网站缓存的类型以及如何设置它们以加快加载时间

Bluehost美国/香港虚拟主机

虽然网站缓存的技术和具体细节可能很复杂,但其基本概念却很简单。这是浏览器/服务器将文件的副本存储在临时位置,以便更容易和更快地访问的过程。例如,浏览器可以保存HTML文件、图像和JavaScript代码,以帮助网站更快地加载。网站保存可重复使用的资源,以加快后续请求和从服务器上获取的速度。因此,从技术上讲,它是存储空间或服务器的存储空间中的一个临时文件,以便更容易和更快地浏览互联网。

缓存允许你更有效地重新加载先前检索的数据。点击一个网站时,浏览器必须下载大量的数据,才能显示该网站。下载时间可能导致页面加载延迟,这经常是一种缓慢的加载体验。服务器上的缓存文件使用户能在提出访问请求后立即访问网页。作为缓存的结果,下次访问网站的速度会快很多。

增强网络响应能力

正如我们之前提到的,网络缓存通过减少服务器的往返次数来帮助网络做出更快的反应。由于缓存文件存储在用户附近,从网站上检索信息变得更加容易和快速。

增强网络响应能力

不间断的内容访问

服务器偶尔会出现故障,无法满足预期。但是,如果网站之前下载了缓存文件,就可以不间断地访问信息。

降低网络成本

如果能实施积极的缓存,将需要更少的服务器空间。这样一来,缓存文件在内容路径上离用户很近。因此,服务器将不会因内容访问请求而负担过重,从而降低了成本。

可预测的结果

对于那些在特定时间处理应用使用高峰的网站来说,这可能是一个挑战,例如黑色星期五的销售。网站受到延迟的影响,如果你不做任何准备,其整体性能是不可预测的。然而,你可以通过执行良好的内存缓存策略来缓解这些问题。

网站缓存的类型

代理缓存(服务器缓存)

服务器缓存可以提高所有访问者的网站性能,而不仅仅是重复访问者。

其工作方式如下:

当浏览器请求一个网页时,服务器必须处理该请求。首次请求(来自任何用户)得到满足时,服务器会 “缓存 “它,并在下次向任何人更快地提供相同的数据。

代理缓存的一个最显著的优点是,它允许数百万用户同时访问网站,而不会导致网站崩溃。

网站缓存的类型

在主机服务器之上,有一个DNS(域名系统)缓存系统。DNS通常被称为互联网的电话簿。它将10web.io这样的网址连接到托管服务器的IP地址,如28.56.8.252。

该系统由一系列跟踪这些地址的名称服务器运行。缓存名称服务器(也称为DNS缓存)在管理员指定的时间内保留DNS查询信息。

TTL(生存时间)是这个时期的术语,在改变域名或主机服务提供商时需要。

大多数主机服务提供商都预先安装了代理服务器缓存。

虽然有些人选择从面板上启用/禁用它,但其他人认为应该保持其启用状态,并且不提供禁用选项。

最流行的代理服务器缓存选项是Varnish和Nginx。据说Varnish是业内最好的选择。

如果所在的主机公司的服务器上没有代理缓存,可以要求安装它。然而,这在共享主机上是不可能的,只能在VPS或专用服务器上提出请求。

浏览器缓存

访问网站时,不仅仅需要检索页面的内容;还需要一系列的资源,如Javascript文件、样式表、字体等,除了页面的内容外,浏览器还需要下载这些资源。

浏览器缓存允许浏览器将这些文件储存一段时间,这样每次访问网站时就不需要检索这些文件了。

当用户访问网站时,浏览器会保存一些数据,以便以后显示,而无需再次联系服务器。因此,浏览器缓存加速了网站对回头客的吸引力。

可能想知道,更新网站时,缓存会发生什么。访客是否会继续看到以前的版本?答案是否定的,如果做得正确,就不会。

大多数网站使用ETag和Expire Tag来避免这种情况。第一种方法,ETag,是一个口令,将网站的缓存版本与实际服务器上的版本进行比较。当它们不同时,浏览器会请求最新的网站版本。

第二种,Expire Tag,指定何时从浏览器中删除缓存版本。这个标签由网站所有者/管理员管理,他们选择更新之间的平均时间。用户也可以手动清除缓存以避免问题。

现在的主机公司都会预先设置浏览器缓存,如果没有,并且使用WordPress,可以随时使用第三方插件来安装。

如果想在没有插件的情况下启用它,只要到.htaccess文件中粘贴下面的代码:

# BEGIN Expire headers

# Turn on the module.

ExpiresActive on

# Set the default expiry times.

ExpiresDefault “access plus 2 days”

ExpiresByType image/jpg “access plus 1 month”

ExpiresByType image/svg+xml “access 1 month”

ExpiresByType image/gif “access plus 1 month”

ExpiresByType image/jpeg “access plus 1 month”

ExpiresByType image/png “access plus 1 month”

ExpiresByType text/css “access plus 1 month”

ExpiresByType text/javascript “access plus 1 month”

ExpiresByType application/javascript “access plus 1 month”

ExpiresByType application/x-shockwave-flash “access plus 1 month”

ExpiresByType image/ico “access plus 1 month”

ExpiresByType image/x-icon “access plus 1 month”

ExpiresByType text/html “access plus 600 seconds”

# END Expire headers

其他缓存机制

数据库缓存

数据库缓存是一个缓存数据库结果,以便在下一次更快返回这些结果的系统。

有两种类型的数据库缓存:

内部缓存:基于使用模式,它把认为可能需要的东西准备好。网站所有者在这个问题上没有发言权。

查询缓存:如果做了一次以上的查询(例如,为一个用户配置文件),结果会被缓存,并从RAM而不是磁盘上返回。

当分配的RAM被耗尽以容纳新的查询时,最旧的查询被删除。

当基础数据发生变化时,缓存会被清除,这取决于数据库的表或行/文档级别。

数据库缓存

操作码缓存

操作码缓存的一种类型是OPcache。

这种类型的缓存将PHP代码转换为服务器能够理解的操作码。这发生在网页上首次加载PHP文件的时候。然后,这些信息被保存到服务器的内存中,以便在以后的页面访问中更快地加载。

像 OPcache、APC 和 Xcache 这样的字节码缓存引擎都是在首次执行 PHP 文件时完成这个过程的,所以你不需要再做一次。

当一个PHP脚本被执行时,服务器上的缓存内存会被检查,看该脚本是否已经被缓存了。如果没有,就对代码进行解析,也就是对它进行分析。

然后,该脚本被编译成操作码,允许服务器读取该文件。之后,操作码被保存在服务器的内存中。

换句话说,它被缓存在服务器上。当访问者用PHP脚本加载页面时,缓存的代码被执行并加载得更快。

另一方面,如果在页面上加载脚本,并检查缓存中的操作码并找到它,它就会被快速加载。

CDN 缓存

CDN(内容交付网络)由分布在世界各地的多个服务器组成。

它们对网页上最常请求的文件进行缓存,当用户输入查询时,最近的服务器就会响应,提供准备显示的内容。

这些服务器足够聪明智能,它们能够识别设备类型、cookie设置和其他关于用户的信息,以便只缓存和显示所需的页面。CDN还可以提供独特的、没有缓存的动态内容。

缓存清除

缓存机制为页面生成静态HTML副本。当你的网站页面被浏览时,它会保存一个静态的HTML副本,并将该静态HTML副本显示给用户。

因此,你不需要每次都从服务器上检索信息。加载页面时,它节省了时间和资源。

这可以解释为什么当你改变一个帖子时,不能马上看到变化;这意味着仍然在查看旧的 “副本”,而不是从数据库中实时获取的版本。

如果清除了缓存,下次访问页面时,它将使用来自服务器的信息(原始方法)生成页面。然后,该页面将被重新复制,创建一个新的、静态的HTML副本。

这个清除缓存的过程通常被称为 “缓存清除”。每次改变网站时,清除缓存是一个很好的做法。

在WordPress中,这种清除可以在每次网站更新时自动触发(例如,发布或更新一个帖子),只需使用一个插件就可以了。

本文来自网络,不代表WHT中文站立场,转载请注明出处:https://webhostingtalk.cn/website/1646.html
Hostease高防服务器

发表评论

您的电子邮箱地址不会被公开。

20 + 20 =

联系我们

联系我们

在线咨询: QQ交谈

邮箱: contact@webhostingtalk.cn

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部