我需要将许多数组存储在$_SESSION
中,以避免从MySQL检索信息。这样做可以吗?在$_SESSION
中存储多少信息才算“太多”,或者根本不存在“太多”的限制?谢谢。
P.S. 或者使用http://php.net/manual/en/book.memcache.php更好吗?
我需要将许多数组存储在$_SESSION
中,以避免从MySQL检索信息。这样做可以吗?在$_SESSION
中存储多少信息才算“太多”,或者根本不存在“太多”的限制?谢谢。
P.S. 或者使用http://php.net/manual/en/book.memcache.php更好吗?
您的会话中的数据量将影响性能。如果您打算使用文件进行会话,请注意 PHP 可能会在磁盘上遇到瓶颈。读取、写入和序列化这些数据可能会产生大量的磁盘 I/O,这是不好的。
就硬上限而言,我怀疑这些限制与您的文件系统相同。例如,如果您将大量数据保存到会话中,并且填满了磁盘,则无法编写其他会话。
使用 memcached 将缓解磁盘 I/O 性能问题,因为从 memcached 中读取和写入要快得多。根据 memcached 规范,您的限制为每个会话 1MB。您的会话总空间将是您启动的 memcache 实例的大小(由启动 memcache 实例时的 -m 标志指定)。