gpt4 book ai didi

php - Mysql请求缓存

转载 作者:行者123 更新时间:2023-11-29 12:09:21 26 4
gpt4 key购买 nike

我创建了一个小的 php 代码,用于从 MySQL 请求特定表的计数。

如何将其压缩到静态页面,以免每次加载页面时都发出请求?

例如,我可以将其转换为每天刷新一次的静态 HTML 吗?

最佳答案

压缩意味着减少保存或传输某些内容所需的存储空间大小。但根据你的问题你想缓存内容。缓存意味着您临时存储生成成本较高的数据,以便下次可以更快地访问它并使用更少的资源。这可以与压缩结合起来。例如,在保存静态页面之前对其进行压缩,这样比不压缩时占用的存储空间更少。但这会比你看起来的更深入。

缓存有不同的方法和技术。这取决于您的应用程序,哪一个是最好的。通常是 HTTP 加速器,如 varnish https://www.varnish-cache.org/将是最快的。简而言之,varnish 将监听端口 80 并接受 http 请求。您的网络服务器(例如 nginx、apache、iis)将监听另一个端口(可能是 81)。对于每个请求,清漆都会在其缓存中查找,该缓存可以位于磁盘上或内存中。如果请求的站点在缓存中,则清漆将在几百毫秒或更快的时间内非常快地交付它们,具体取决于您的应用程序和基础设施。当它尚未缓存时,他将从您的后端服务器获取页面,将其保存在缓存中以供进一步请求并将其传递给用户。一般来说,这与使用 php 将内容存储在静态文件中的结果相同,但速度要快得多,因为使用 php 会花费时间。

但是,当您有大量特定于用户的请求时,此类解决方案可能会很困难,甚至可能效率低下。例如,当用户可以登录时,您无法轻松缓存这些请求:每个用户的页面都不同,因此可能会限制内容的访问限制。当您遇到这种情况时,仅对未登录的用户使用 varnish 是有意义的。

但是您应该注意到,正如您在标题中提到的,这与 MySQL 缓存无关! MySQL 本身具有查询缓存 https://dev.mysql.com/doc/refman/5.1/en/query-cache.html这是另一回事。这只会缓存数据库查询。还有其他类似的方法可以缓存页面的某些部分。喜欢xcache http://xcache.lighttpd.net/它有一个全局存储,您可以在其中保存需要花费大量资源来生成的数据。

请记住,这些事情与缓存整个页面处于不同的级别。它们会加快您的网站速度,但不会像清漆那样快。根据您的问题,您似乎想要清漆之类的东西。当我错了时,您应该更具体,并使用有关您想要引入缓存的系统的详细信息来编辑您的问题。

关于php - Mysql请求缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30953574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com