2013-01-03 33 views
1

是否有可能使用会话变量来显着降低应用程序的速度?是否有可能“过度使用”会话变量?

我不是想要。我只想知道会话变量是否适用于大量数据。

+0

任何东西都可能被过度使用,它实际上取决于您对过度使用的定义或数据量有多大 –

+2

如果您必须使用大量会话变量,可能需要重新考虑您的策略。 :) – summea

+0

那么,基本上这个定义是'显着减缓应用程序'。所以,如果我有一个会话变量持有1MB数据,或者我有1000个会话变量,总共有1MB数据,那么只需要将一个数字作为起点,如果我有一个会导致应变?这个比那个好吗?这一切都没有意义吗? ;) –

回答

2

这取决于你如何存储会话数据。默认会话存储是基于文件系统的,每个会话都有自己的文件。该文件在页面加载时自动加载。文件变得越大,加载它的时间就越长。加载后,它只是一个关联数组。每个项目都可以在log(n)时间(最有可能)访问。

但是,如果您拥有Redis(使用phpredis)或其他会话数据存储,则不必在每次页面执行时持久保存和加载数据,因此在会话中存储太多数据时不会有性能损失。

+0

对,当然。当我阅读有关会话变量的内容时,我确实已经读过它们保存在文件系统中的内容。它没有点击我的脑海,把它看作是一个文件,而不是它在PHP中出现的内存对象。谢谢。 –

相关问题