我正在开发一个针对许多客户动态定制的PHP通用应用程序。
我有课程client
,我在其中加载了客户端的样式和首选项。
我的问题是:
在会话中保存该对象是一种好习惯吗? (我认为这是最好的解决方案,而不是在每个页面中创建对象,这将需要大量的mysql查询。
答案 0 :(得分:4)
在处理会话时,您需要考虑的事情很少。
您不应在会话中存储不同的大值。 我认为这不是一个问题,因为偏好通常很小。
在会话中存储对象时。您可能无法获得实时更新。例如,假设相同的用户使用两个单独的浏览器和/或机器登录并在一个中修改首选项。在这种情况下,其他人将没有更新的自定义。它不是一个大问题,但取决于您的要求。
我在这里没有看到任何其他问题。事实上,它是在会话中存储小值并避免数据库查询的有效且好的解决方案。
答案 1 :(得分:0)
如果它不会改变,只会导致不断调用MySQL查询,那么是,这是一个好主意。
MySQL查询(以及一般的函数)是内存/ cpu密集型,并且会影响PHP的页面加载速度,因此导致它做得更好的工作就越少。
如果返回的值会不断变化,那么不会更好,但会在会话中存储您可以使用的值。
答案 2 :(得分:0)
我认为当客户端关闭浏览器时,会话将会消失。 如果将它存储在cookie(加载客户端)中?它不利于安全。
当你在会话中存储迷你数据时(加载服务器)。这意味着你在服务器上使用了一些内存。 当你有很多客户时会发生什么?
因此,应该在每个页面的进程结束时销毁数据库连接。 不要担心使用它。