【发布时间】:2012-03-03 01:54:02
【问题描述】:
我刚刚加入了一个项目,并且一直在检查代码。我们需要为内部用户将大量数据导出到 Excel。大约有 5 个人可以在给定时间访问此功能。为了输出到 Excel,这是我发现的:
- 从数据库中检索数据,存储在 $_SESSION 中
显示数据的 HTML 页面视图
-
当用户想要导出时
- 从 $_SESSION 检索数据库数据
- 在 CSV 的内存中创建字符串
- 以 Excel 作为文件类型打印 HTTP 标头
- 打印出 CSV 格式的字符串
即使用户不打算导出,$_SESSION 中的这种存储也会发生。这让我觉得效率非常低,因为 $_SESSION 变量的大小可能会爆炸,因为每个数据库表每个表最多可以检索 30MB,并且 $_SESSION 的到期时间设置为 24 小时。因此,系统中可能有多达 5 个用户,具有多达 150MB 的 $_SESSION 变量。 听起来对吗?
有没有人见过这样的东西?这像盗版 Memcache 吗?将数据写入每隔几个小时更新一次的平面文件不是最好吗?
【问题讨论】:
标签: php mysql session caching memcached