3

我正在开发一个针对许多客户动态定制的 PHP 通用应用程序。

我有类client,我在其中加载客户端的样式和首选项。

我的问题是:

在会话中保存该对象是一种好习惯吗?(我认为这是最好的解决方案,而不是在每个页面中创建对象,这将需要大量的 mysql 查询。

4

3 回答 3

5

在处理会话时,您需要考虑的事项很少。

  1. 您不应该在会话中存储不同的大值。我认为在您的情况下这不是问题,因为偏好通常足够小。

  2. 当您在会话中存储对象时。您可能无法获得实时更新。例如,假设同一用户使用两个单独的浏览器和/或机器登录并在一个中修改首选项。在这种情况下,其他人将没有更新的自定义。这不是一个大问题,但取决于您的要求。

我在这里没有看到任何其他问题。实际上,它是在会话中存储小值并避免数据库查询的有效且良好的解决方案。

于 2012-07-05T01:59:06.647 回答
1

如果它不会改变,只会导致不断地调用 MySQL 查询,那么的,这是一个好主意。

MySQL 查询(以及一般的函数)是内存/cpu 密集型的,并且会影响 PHP 的页面加载速度,因此您导致它执行的工作越少越好。

如果返回的值会不断变化,最好不要,而是在会话中存储可以存储的值。

于 2012-07-05T01:54:33.347 回答
0

我认为当客户端关闭浏览器时会话将终止。如果将其存储在 cookie 中(加载的客户端)?它不利于安全。

当您在会话(加载的服务器)中存储迷你数据时,这意味着您在服务器上使用了一些内存。当你有很多客户时会发生什么?

因此,应该在每个页面的进程结束时销毁数据库连接。不用担心使用它。

于 2012-07-05T07:42:54.630 回答