【发布时间】:2014-08-19 11:30:58
【问题描述】:
我一直想为我的网站添加一个缓存功能,该功能在多个用户会话之间持续存在。这个想法是能够存储频繁执行的查询的结果,或者也不会经常更改的计算。我的主要用途是当用户访问我的网站时,会运行查询以查找他们请求的页面。页面很少更改,所以我想为每个用户将此结果缓存 2-4 小时,这样查询就不必在每个用户的每个页面加载时一遍又一遍地运行。
我所做的是一个 PHP 对象,它存储当前 session_id 并且每当对缓存对象进行读取或写入时,它会使用 session_write_close() 关闭会话,并使用硬编码的 session_id 读取/写入开始一个新会话到/从这个硬编码的“主”会话,然后在 session_write_close() 主会话之后恢复到原始 session_id。
谁能想到这种方法有什么问题?我想避免使用像 memecache 这样过于复杂的东西,所以我认为这很简单,而且似乎工作得很好!
我们将不胜感激有关方法的想法和其他想法!
【问题讨论】:
-
这个问题对于这个网站来说有点宽泛。
-
很公平,我阅读了指南并认为它仍然适用,但第一次发布,所以生活和学习!
-
我很高兴在这里找到了这个。这似乎是在会话之间共享实际 PHP 对象的唯一可能性。我尝试了 memcache,但我需要一个迭代缓存的键/值的可能性。使用这种方法应该可以做到这一点。