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


PHP One time database query on application startup

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

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

在Spring中,通过初始化bean,我可以很容易地做到这一点。这个bean将具有应用程序范围(上下文),以便将来所有需要数据的用户线程都可以使用它。这意味着数据库检索将是一次,仅在应用程序启动期间,然后一些bean将永久保存下拉数据。

我不明白如何在PHP中复制用例。

没有这样的"应用程序"引导,直到第一个用户真正调用我的php文件。

此外,没有应用程序上下文——为第一个用户检索的记录将不可用于另一个用户。

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

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

我不太确定每次用户点击你的应用程序时对数据库的一次调用是否会杀死你。也许你有一个很好的理由,但除了一次之外,其他时间都避开数据库似乎很荒谬。

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

这能覆盖你吗?