-3

我正在开发一些分析 Web 应用程序。每次我需要处理来自数据库的原始数据来临时保存。那么,临时保存原始数据的最佳方法是什么。

1) 临时表
2) 缓存
3) 哈希图
4) 查看
5) 实际表
6) 临时文件
7) ....

会有繁重的读写操作。

请建议。

4

7 回答 7

3

这取决于您到底要跟踪什么,以及您拥有多少数据。用最简单的术语来说,现有数据库中包含临时信息的表可以做到这一点。在光谱的另一端,您可以让 MongoDB 使用 Memcached/Varnish 存储聚合数据,并使用 TTL 缓存整个 HTTP 响应。

干杯

于 2013-11-09T07:02:10.793 回答
1

我会考虑使用 Redis 或 APC。这些是键值存储,非常适合您存储已处理数据并在会话/请求之间共享它的目的。

祝您好运!

于 2013-11-12T15:53:38.093 回答
0

我建议在数据库中使用一个表来保存数据并在之后删除内容

于 2013-11-14T06:53:44.947 回答
0

我建议您使用缓存解决方案。对于类似用例,我个人对 APC 的体验非常好。

使用 APC,我能够避免每次需要访问数据时访问数据库的额外开销。它很有用,因为我需要在短时间内多次访问数据然后丢弃它。所以使用 db 解决方案似乎没有那么有效。此外,它更容易访问 APC,因为数据读/写就像 key => value 一样简单,我猜文件读/写解决方案可能需要更复杂的代码。

您需要注意的几件事是,在服务器重新启动的情况下数据可能会丢失。

于 2013-11-15T09:47:50.633 回答
0

临时文件从来都不是一个好的选择,因为它总是容易受到攻击。数据库中的表是存储临时数据的最佳方式,因为如果您确定需要该信息存在多长时间,您甚至可以设置截断它的时间!

于 2013-11-14T20:34:19.403 回答
0

就个人而言,我会使用 PHP 会话变量。它保存数据,并在需要时轻松引用。

于 2013-11-09T05:50:01.460 回答
0

我建议您使用数据库表,因为它会一直存在,直到您将其删除。

session 可能不是一个好的选择,因为如果用户关闭浏览器它会丢失,而且你不能将大量数据存储到 session 中。

于 2013-11-14T11:19:58.140 回答