加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PHP MySQL行列

发布时间:2021-03-09 20:37:16 所属栏目:编程 来源:网络整理
导读:我必要一个充当行列的简朴表. 我的MySQL处事器限定是我不能行使InnoDB表,只能行使MyISAM. 客户/事恋职员将同事势情,他们每次都必要吸取差异的事变. 我的设法是做以下(伪代码): $job 我曾实行过表锁和“GET_LOCK”,但没有任何工作产生,工人偶然会收到同样的

我必要一个充当行列的简朴表.
我的MySQL处事器限定是我不能行使InnoDB表,只能行使MyISAM.

客户/事恋职员将同事势情,他们每次都必要吸取差异的事变.

我的设法是做以下(伪代码):

$job <- SELECT * FROM queue ORDER BY last_pop ASC LIMIT 1;
UPDATE queue SET last_pop WHERE id = $job->id
return $job

我曾实行过表锁和“GET_LOCK”,但没有任何工作产生,工人偶然会收到同样的事变. 最佳谜底 你必要改变你的订购,以是没偶然刻窗口.

斲丧者POP(每个斲丧者都有一个独一的$consumer_id)

Update queue 
set last_pop = '$consumer_id' 
where last_pop is null 
order by id limit 1;

$job = 
  Select * from queue 
  where last_pop = '$consumer_id' 
  order by id desc 
  limit 1;

供给商敦促

insert into queue 
  (id,last_pop,...) 
values 
  (NULL,NULL,...);

行列由id列定时刻排序,并在POP上分派给consumer_id.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读