当用户在我的网站上提交表单时,我必须根据表单做一项工作,本质上是:
- 检查用户锁(在redis中,防止用户做坏事),如果没有锁继续并放置作业队列锁,否则退出作业并给用户错误
- 更新 mysql 表中的行,可能会删除同一表中的一些行并至少执行 1 次插入(可能跨不同的表)
- 解除作业队列锁
我想在这些作业进来时将它们排入队列,队列始终处理放入其中的新作业。
我正在使用 php 和 mysql。我已经查看了 gearman 并且还对 php 进行了 resque。 Gearman 似乎有点矫枉过正。而且我还希望每秒能够处理数千个这样的工作。所以速度很重要。
队列中的这些作业按顺序发生并按照它们进来的顺序发生是至关重要的。如果每半秒我可以将一个作业插入队列的前面,这也是一个奖励(这是一个不同的作业,但很好的相关)。
我以前从来没有做过这样的事情。
最佳答案
因为您已经熟悉 PHP 和 Redis,它看起来像 Resque可能适合你。
关于php - 排队 mysql 查询的最佳方法是什么?在速度方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21528114/