php - 我可以使用什么在 PHP 中进行快速临时存储

标签 php storage

我正在创建一个处理一些图像的小插件。现在,为了向用户报告进度,我有一个小的 ajax 脚本,可以长时间轮询结果。

现在实习生我需要一个对象来跟踪处理的内容。现在我知道的选项如下。

使用 PHP session 对象。我不能在这种特定情况下使用它,因为初始过程也是由 ajax 完成的。所以主进程是一个ajax调用,long poll ajax是另一个ajax调用。他们有 2 个不同的 session ID,因此他们无法很好地沟通。

第二种选择是使用数据库作为存储。我不知道这是否很好,因为平均每项工作会有大约 40 次读/写。我知道这没问题,但对于如此简单的事情来说似乎有点过分了。

如果可能的话,我实际寻找的是一种内存对象。在内存中创建一个小对象,随着进度快速更新并在我们完成后删除。

我不知道这是否可能,在 PHP 中存在这样的东西,我可以利用它吗?请注意,这将是一个公共(public)插件,因此我需要使用在所有类型的系统上都可用的方法,没有什么特别的。

最佳答案

我认为数据库并不是最糟糕的解决方案。如果您认为写入磁盘,可能会更糟。

Memcache 很好,但是你需要一个“external plugins free”的小插件,可以轻松运行在 win、linux、mac 等平台上……不是一个好的选择。

如果您使用 Mysql,您可以使用内存引擎表,速度很快,并使用简单的垃圾收集器算法定期截断或清理它。如果内存表不是一个选项,innodb 就足够了。

关于php - 我可以使用什么在 PHP 中进行快速临时存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371168/

相关文章:

php - 存储60亿个 float ,方便文件访问

python - 通过 Django Rest 发送文件

docker - Docker run --storage-opt size=XYZ 是什么意思?

php - 从托管服务器使用 CodeIgniter 发送电子邮件

php - QuickSort:当 Pivot 交换位置时无法理解部分

node.js - Jimp将图像写入Google云存储 Node js

database - 存储+评估性能数据

javascript - 如果产品缺货,则显示属性 Magento

php - 单个查询 SELECT 传播到 child

php - 在 WooCommerce 电子邮件通知中隐藏本地取货的送货地址