返回博客

缓存:提高网站速度和性能的超级秘密武器

缓存是提高任何网站速度和性能的重要工具,可实现更快的访问速度、更高效的数据交付以及跨区域的更大可扩展性。
缓存:提高网站速度和性能的超级秘密武器

什么是

缓存

缓存是网站开发的重要组成部分,能大大提高网站的速度和性能。简单地说,它就是存储网页副本,以便在需要时快速发送。缓存的工作原理就像水桶队:临时存储将来可能需要的信息,同时释放现在的资源。这一切都是为了做好准备,加快速度,因为现在的用户对速度的要求越来越高!

从技术角度来看,计算应用程序在显示内容之前会在多个地方查找内容;通常要对每个来源进行多次请求,这就意味着延迟问题。而缓存只从一个地方检索数据,从而缩短了这一过程。换句话说,缓存文件存储在本地,下次需要在线访问或更新时,附近已经有一个保存的版本,从而消除了等待时间,提高了效率。

就像我们的宇宙一样,坏消息可能需要数百万年才能传到地球上的我们,而好消息则以光速传播,缓存允许现代网络浏览器快速访问经常访问的网站,而无需每次都与主服务器通信,这在 2020 年看似天方夜谭,但却是现实!这就是为什么《纽约时报》网站尽管规模庞大,流量巨大,但打开速度却超过 2 秒的原因。  

缓存可加快通过网络提取数据源(如加载图像)的相关功能,以及在应用程序组件之间编译 HTML 文档或软件包的速度,任何天才编码员都会告诉你,这些过程已成为当今几乎所有正常运行的网页不可或缺的功能。一些特别流行的形式包括反向代理缓存(用于动态内容存储)和客户端存储(直接存储在用户设备上的数据)。

总之,我认为缓存是支撑我们日常使用的许多平台(无论大小)的秘密超级力量,与不久前的早期迭代模式相比,缓存从根本上缩短了检索时间,使我们的生活变得更加轻松。因此,如果您的网站仅使用传统路径就会陷入流量拥堵的困境,那么答案可能比您想象的还要接近:尝试添加一些缓存!

实例  

缓存

  1. 前向代理缓存
  2. 反向代理缓存  
  3. 对象缓存
  4. Redis 缓存  
  5. 图像缓存
  6. 客户端存储  
  7. 应用程序缓存
  8. 数据库查询缓存  
  9. 消息队列缓存  
  10. CDN(内容分发网络)

的好处  

缓存

  1. 利用缓存技术提高性能:在网络开发中利用缓存技术有助于加快执行时间,使网站更快、更高效。使用持久存储(如 localStorage 或 IndexedDB)可快速访问常用数据,无需每次都调用 API。此外,通过优化图像和利用浏览器端的缓存控制,您还可以为用户提供更流畅的体验。
  2. 利用缓存版本管理加快页面加载时间:在网站开发过程中,保持较短的页面加载时间非常重要,这样用户在浏览网站内容时才能获得愉快的体验。通过使用独特的查询字符串对缓存文件进行版本控制,使它们看起来彼此不同,这样就能确保访问者只在必要时获得新版本的网页,而不是从本地缓存中加载旧的或过时的网页。
  3. 优先使用内容分发网络 (CDN):内容交付网络是大幅缩短 HTML、CSS 或 JavaScript 等静态资源响应时间的好方法,而无需依赖昂贵的服务器设置成本或每次必须通过互联网传输文件时的巨大存储需求。通过利用配置了适当标头设置的 CDN 来缓存网络服务器的任意响应,您将同时受益于多个区域响应速度的提高,以及在今后访问时再次请求相同文件时下载速度的降低。

甜蜜的事实与统计

  1. 缓存技术在互联网发展初期就已出现,但随着技术的进步,缓存技术作为一种网络开发工具比以往任何时候都更加有用。
  2. 80% 的网站都采用了某种形式的缓存,以获得更快的用户体验。
  3. 网络连接速度较慢或数据计划有限的用户可以从浏览器和代理缓存中获益,将页面加载时间最多缩短 50%。
  4. 对象缓存可减少多达 90% 的数据库查询时间,显著提高服务器的整体性能。  
  5. 利用分布式缓存的内容交付网络(CDN)可以使内容快速出现在本地或全球各地,无论原始内容存储在哪里。
  6. 服务器缓存可增加延迟并减少中断,因此即使在节假日和闪购等高流量时段,网站的可用性也能保持稳定。  
  7. 除了内存对象、文件系统和数据库等传统缓存存储方法外,Docker 容器等现代技术为网络应用程序设计缓存解决方案时提供了革命性的新效率和可扩展性!
缓存:提高网站速度和性能的超级秘密武器

的演变  

缓存

说到网络开发,缓存并不是什么新概念。它已经存在了十年之久,并经历了相当程度的演变。缓存技术的历史可以追溯到 2003 年,当时开发人员首次意识到,他们可以将网页内容和信息存储在离访问者更近的地方,从而避免不必要的加载时间拖累访问者的电脑和其他设备--当时正值高速数字连接技术的黎明期。

没过多久,缓存技术就进一步利用了浏览器的能力。HTML 重新验证方法使内容交付比以前更快,这意味着在线应用程序开始更频繁地使用这些方法。这为 Edge Side Includes 的出现铺平了道路,它将事情又向前推进了一步,使这些相同的应用程序中的自定义功能得以简化。

与此同时,由于 HTML5 的离线功能提供了持久存储数据库,缓存数据在移动生态系统中再次得到了发展,这绝对是一个天赐良机,因为以前在浏览器或手机上访问自定义应用程序时会受到限制。可刷新的实时流也在各种实时应用中找到了用武之地,因为本地缓存可以根据服务器的适用情况进行自我更新,从而提供了托管存储无法为用户提供的组织能力。  

如今,我们的情况已经发生了翻天覆地的变化:东西不再那么容易被保存在各自的盒子里;CPU 越来越多地负责在不占用过多资源的前提下,确定在什么情况下哪些东西会被缓存;复杂的算法让我们可以根据人气竞争与新鲜度考虑等因素,对网络分配进行精细控制,从而决定缓存空间的分配(根据服务器端位置的远近来决定)。毋庸置疑,缓存的发展前景只会越来越好!

渴望高级网络?
让 Uroboro 将您的网站打造成一个能转化访客并具有行业权威性的杰作。
左箭头右箭头

我们最近的

我们的所有文章