PHP应用程序启动时的一次性数据库查询

时间:2012-02-21 20:40:01

标签: php caching

我有一个基于ajax的PHP应用程序(没有任何框架等)。

我需要从数据库中检索一些记录(html选择元素项)ONCE,并且只需在应用程序启动期间将其存储在PHP数组中,并将此数组用于将来使用以防止将来的数据库调用,所有未来的用户。

我可以在Spring中使用初始化bean轻松完成此操作。并且这个bean将具有应用程序范围(上下文),以便它可以用于需要数据的所有将来的用户线程。这意味着数据库检索只会在应用程序启动期间进行一次,然后某个bean将永久保存下拉数据。

我无法理解如何在PHP中复制用例。

没有“应用程序”引导,直到第一个用户真正做某事来调用我的php文件。

此外,没有应用程序上下文 - 为第一个用户检索的记录将不会被其他用户使用。

我该如何解决这个问题? (注意:我不想使用像memcache或其他任何库。)

2 个答案:

答案 0 :(得分:3)

如果您确实只需要在任何用户第一次加载应用程序时获取数据,那么您可以编写从数据库中获取数据的内容,然后重写您想要这些值的html页面这样,当下一个用户出现时,他们正在查看由程序编写的静态页面。

我不太确定每次用户点击你的应用程序时对数据库的调用都会杀了你。也许你有一个很好的理由,但是除了1次之外,避免使用数据库似乎是一丝不苟的IMO。

答案 1 :(得分:0)

如果您需要为每个访问者点击一次数据库,您可以使用$ _SESSION。在脚本的开头,您将启动一个会话,并检查数据库中是否有值。如果没有,这是用户的第一次访问,您需要查询数据库。将数据库值存储在$ _SESSION超全局中并继续。如果数据在会话中,请使用它,不要查询数据库。

会覆盖你吗?