2011-09-14 44 views
0

我正在设置与产品匹配的车辆注册查询系统。我们从查找公司收到的数据只能存储24小时。我认为将其存储在数据库中可能太麻烦了。这是一个共享的1and1帐户。我正在考虑使用PHP会话,并将它作为数组存储在会话中,使用注册牌作为会话ID。快速缓存解决方案PHP

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

+0

究竟你希望缓存什么?如果是来自外部资源的数据,PHP会话看起来不太合适。这些由客户端连接到您的网站创建。默认会话长度是(我认为)1小时 - 如果在共享主机上 - 您可能无法更改它。 – cloakedninjas

回答

1

会话对于每个与该网站进行交互的客户端都是唯一的。客户只能访问它放入会话的信息,而不是任何其他人。所以会话在这种情况下不起作用。我会说使用memcache,但您可能无法在共享的1and1帐户上执行此操作。我会推荐带有“expires”字段的数据库。您可以设置一个cron定期运行(即每隔15分钟)以删除已过期的记录。

0

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

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

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

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