对于大型数组,最好是将数据保存到全局变量或每次需要时查询数据库吗?在我的情况下,保持它们的局部范围并将它们传递给函数不是一个选项。
我使用wordpress,在大多数页面中,我会将每个用户和所有元数据附加到他们身上。通常我会在同一页面的多个位置使用这些变量。不幸的是,wordpress不允许我在模板之间传递变量,所以我每次都使用全局变量或调用数据库。最终,这将是数百个用户,每个用户都附加了大量元数据。我应该每次调用数据库以保持变量本地,还是应该将它们保存到全局变量以节省数据库查询?有什么考虑?我应该担心性能,开销和/或其他问题吗?
非常感谢!
答案 0 :(得分:2)
您问题的唯一真正解决方案是使用某种缓存系统(Memcache和Redis是您的最佳选择)。幸运的是,有很多Wordpress插件使集成变得简单。例如:
修改强>
如果你只想缓存一些数据库调用,你可以忘记Wordpress插件并开始编码。假设您只想缓存从数据库中检索用户列表的调用,并且假设您正在使用Memcache来完成此任务(Memcache存储键值对并允许超级快速访问一个给定键的值)。
这就是全部。现在您只需要决定要缓存的内容并将此过程应用于这些元素。
答案 1 :(得分:-1)
您不必执行调用,但每页一次,您可能必须为每个页面执行一次调用。因此,我建议您创建某种类来与您的数据库进行交互,您可以调用它来获取所需的数据。我还建议在数据库上使用存储过程和函数而不是直接查询,因为这将有助于安全性和应用程序逻辑和数据功能的分离。