快速缓存解决方案PHP

时间:2011-09-14 10:04:59

标签: php session caching

我正在建立一个与产品匹配的车辆登记查询系统。我们从查询公司收到的数据我们只能存储24小时。我认为将它存储在数据库中可能会有太多麻烦。这是一个共享的1and1帐户。我正在考虑使用PHP Sessions,并使用注册板作为会话ID将其作为数组存储在会话中。

这样垃圾收集器应该确保我不会保留超过24小时。这会有效吗?有什么缺点吗?

3 个答案:

答案 0 :(得分:1)

会话对于与网站交互的每个客户都是唯一的。客户端只能访问它在会话中提供的信息,而不是任何人。因此会话在这种情况下不起作用。我会说使用memcache,但你可能不能在共享的1and1帐户上这样做。我建议使用“expires”字段的数据库。您可以设置一个cron定期运行(即每15分钟一次)以删除已过期的记录。

答案 1 :(得分:0)

正如Brent发布的那样,最好将其存储在带有时间戳的数据库中,并定期运行cron以删除过期的条目。

但如果您不想使用数据库,您还可以将检索到的数据存储到文件夹中的简单文件中。

只需将文件名作为注册号码并将数据存储在其中。然后在cron中,您可以查看filemtime并删除超过24小时的文件。

filemtime要注意的一件事是文件信息由PHP缓存。因此,如果您重新检索数据并简单地修改文件数据(而不是删除并重新创建文件),则会返回旧的mtine。为了避免这种情况,如果更新现有文件的数据,请在您的cron和脚本中使用clearstatcache

答案 2 :(得分:0)

将数据存储在mysql数据库中并进行缓存检查VarnishSquid