我正在开发一些分析 Web 应用程序。每次我需要处理来自数据库的原始数据来临时保存。那么,临时保存原始数据的最佳方法是什么。
1) 临时表
2) 缓存
3) 哈希图
4) 查看
5) 实际表
6) 临时文件
7) ....
会有繁重的读写操作。
请建议。
这取决于您到底要跟踪什么,以及您拥有多少数据。用最简单的术语来说,现有数据库中包含临时信息的表可以做到这一点。在光谱的另一端,您可以让 MongoDB 使用 Memcached/Varnish 存储聚合数据,并使用 TTL 缓存整个 HTTP 响应。
干杯
我会考虑使用 Redis 或 APC。这些是键值存储,非常适合您存储已处理数据并在会话/请求之间共享它的目的。
祝您好运!
我建议在数据库中使用一个表来保存数据并在之后删除内容
我建议您使用缓存解决方案。对于类似用例,我个人对 APC 的体验非常好。
使用 APC,我能够避免每次需要访问数据时访问数据库的额外开销。它很有用,因为我需要在短时间内多次访问数据然后丢弃它。所以使用 db 解决方案似乎没有那么有效。此外,它更容易访问 APC,因为数据读/写就像 key => value 一样简单,我猜文件读/写解决方案可能需要更复杂的代码。
您需要注意的几件事是,在服务器重新启动的情况下数据可能会丢失。
临时文件从来都不是一个好的选择,因为它总是容易受到攻击。数据库中的表是存储临时数据的最佳方式,因为如果您确定需要该信息存在多长时间,您甚至可以设置截断它的时间!
就个人而言,我会使用 PHP 会话变量。它保存数据,并在需要时轻松引用。
我建议您使用数据库表,因为它会一直存在,直到您将其删除。
session 可能不是一个好的选择,因为如果用户关闭浏览器它会丢失,而且你不能将大量数据存储到 session 中。