php - session 过载 - PHP session 中存储的 "too much data"是什么?

标签 php mysql session caching

我正在使用 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/

相关文章:

mysql - 简单的mysql触发器,找不到语法错误。对此表示赞赏

mysql - MySQL数据库中NULL和NOT NULL是什么意思

java - session 在 Java 中是如何工作的?

php - laravel eloquent 获取等于 1 或 0 的记录

php - Zend 框架 2 : Auto disable layout for ajax calls

php - 如何在处理 ajax 请求时禁用拖放和浏览事件?

php - 将产品复制到所有网站 - Magento 多商店

c# - InProc 与 StateServer

asp.net - 在 ASP.NET 页面中保存变量

php - CakePHP - 创建 2 个 $content_for_layout 变量