在_SESSION中存储时有多少变量?

时间:2011-01-13 14:43:21

标签: php

我在这里寻找最佳实践的想法。我有一个基于Web的应用程序,它有许多挂钩到其他系统。假设5,并且这5个系统中的每一个都有许多标志来确定用户在所述系统中选择的不同设置,假设每个系统有5个设置(所以5 * 5)。

我将这些设置的状态存储在用户sesion变量中,并且想知道这是一种充分的方法吗?

我正在学习php,因此我不确定这可能会让我遇到任何陷阱!

4 个答案:

答案 0 :(得分:2)

会话没有大小限制(除了明显的内存和磁盘配额限制)。只要保持理智,不要将整个数据库放入其中。

答案 1 :(得分:2)

你必须意识到会话通常在20分钟后超时,然后数据最终被垃圾收集。会话中的25个值不是太多,但是如果你不能丢失这些数据,请确保将它们存储在更加持久的位置。

答案 2 :(得分:0)

对于原型来说可能没什么问题,但是您可能要考虑在MySQL / Postgres / Mongo /等中保留这些设置。

就PHP可以支持的设置数量而言,它取决于您拥有的用户数量以及生产环境的内存量。

答案 3 :(得分:0)

我见过PHP $ _SESSIONs包含数百个对象的数组,所以相比之下你的小5x5矩阵很小。

(我见过的数百个例子,但是,有点过分,所以只是为了澄清我不会宽恕那么远!; - ))