【发布时间】:2011-02-09 06:04:29
【问题描述】:
我需要帮助为客户站点找到合适的缓存解决方案。当前站点是使用 smarty 模板的 centoOS、php、mysql、apache(我知道它们很烂,但它是由其他人构建的)。当前的模型/方法使用相当好的 OO 结构,但是对于一些简单的页面功能,有很多查询可以完成。我正在寻找尝试找到某种缓存解决方案,但在这方面我是个菜鸟,不知道有什么适合当前站点设置的可用。
这是一个拍卖类型的网站,一次在一个页面上显示 10 个拍卖 - 每个拍卖的时间和当前出价通过每 1 秒返回 json 的 ajax 调用更新(它是一个像 beezid. com 所以每秒更新一次是必要的)。如您所见,如果站点获得任何类型的流量,同时请求的数量可能会很大。显然,这个数据每秒都在变化,因为返回的 json 数据具有拍卖剩余的更新时间,并且可能更新了每次拍卖的出价金额和出价用户。
我想要的是能够在给定的时间内或基于其他更改的变量缓存某些页面。例如,内存缓存显示 10 个拍卖的页面,并且仅在其中一个拍卖结束时更新该缓存副本。甚至是上面每秒返回 json 字符串数据的脚本。如果我能够在内存中缓存对该页面的第一个请求,则从内存中提供以下请求,然后在 1 秒后再次缓存它,这可能会大大减少服务器负载。但我不知道这是否可能,或者这样做的开销是否超过了任何请求负载节省。
我查看了一些 xcache,但找不到可以在特定页面上或基于其他变量设置特定缓存时间的方法?!?也许我错过了一些东西,但是有没有人推荐适合这些要求的缓存方案?
非常感谢您提供的任何意见...
【问题讨论】:
-
Xcache 是一个操作码缓存。 Opcode 是 PHP 解释器对您的代码的第一次传递的输出。操作码是实际在解释器上运行的代码。操作码缓存不会帮助您缓存代码的结果,只会缓存您的代码本身。
-
Xcache 也可以存储可变数据,使用XCacheApi,它不仅仅是一个操作码缓存。
-
@Dan - 我猜我对操作码缓存的作用感到困惑 - 这仍然可能有助于加快处理时间。在查看了 xcacheapi (@wimvds) 之后,它看起来很有趣,可能是一个解决方案,也许我会安装并看看它是如何工作的。感谢您的帮助!