我正在使用 session 数组来缓存从数据库中检索到的信息 block :
$result = mysql_query('select * from table');
array_push($_SESSION['data'],new Data(mysql_fetch_assoc($result)));
我的问题是,是否有限制/大量的信息可以/应该在 session 中传递?这样做是不明智的还是会严重影响性能?
最佳答案
默认情况下,$_SESSION 数据存储在磁盘上服务器的/tmp 目录中。只要您有足够的空间并且没有达到 PHP 内存限制,就可以了。
但是,如果您尝试为大量用户缓存相同的查询,则可能需要使用与单个用户无关的 APC 或内存缓存等内容。否则,您基本上会为每个用户缓存相同的结果 1x,而不是在所有用户之间利用缓存。
关于php - session 过载 - PHP session 中存储的 "too much data"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2214061/