php - 排队 mysql 查询的最佳方法是什么?在速度方面

标签 php mysql redis message-queue gearman

当用户在我的网站上提交表单时,我必须根据表单做一项工作,本质上是:

  • 检查用户锁(在redis中,防止用户做坏事),如果没有锁继续并放置作业队列锁,否则退出作业并给用户错误
  • 更新 mysql 表中的行,可能会删除同一表中的一些行并至少执行 1 次插入(可能跨不同的表)
  • 解除作业队列锁

我想在这些作业进来时将它们排入队列,队列始终处理放入其中的新作业。

我正在使用 php 和 mysql。我已经查看了 gearman 并且还对 php 进行了 resque。 Gearman 似乎有点矫枉过正。而且我还希望每秒能够处理数千个这样的工作。所以速度很重要。

队列中的这些作业按顺序发生并按照它们进来的顺序发生是至关重要的。如果每半秒我可以将一个作业插入队列的前面,这也是一个奖励(这是一个不同的作业,但很好的相关)。

我以前从来没有做过这样的事情。

最佳答案

因为您已经熟悉 PHP 和 Redis,它看起来像 Resque可能适合你。

关于php - 排队 mysql 查询的最佳方法是什么?在速度方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21528114/

相关文章:

redis - 在一天中的特定时间备份redis

mysql - 请推荐Ubuntu/Debian下MySQL的性能测试工具

Redis Sentinel -- 远程监控

php - 如何通过3+张表建立Laravel Eloquent模型

c# - Dreamweaver 中的单杠不起作用

php - 托管项目: SQLSTATE[HY000] [2002] Connection refused时出现连接问题

mysql - PDO Sql 查询不工作

c# - Redis快速插入5000万条记录的方法

php - 输出缓存和Redis?

php - 循环遍历表单以更新 SQL 数据库