我有这样的问题。我的主应用程序处理一些请求,并将新行插入DB中,然后向队列发送一个事件。我有不同的进程侦听该队列,当他获得插入对象的详细信息并试图从DB获取该对象时,DB返回空行。我写了一个有退避的算法,通常在3到4次之后,我设法得到了那一行。我的问题是,它们是否是导致MySql中某些默认缓存机制的原因。
我使用Laravel5.0作为应用程序框架,使用MySQL 5.6.38作为DB和
发布于 2018-03-14 13:33:09
使用Innodb。
不要使用LOCK TABLES。
做
BEGIN;
-- some SQL statements that need to be treated atomically:
INSERT INTO my_table ...;
INSERT INTO my_queue ...;
COMMIT;通过使用BEGIN和COMMIT,您可以忽略autocommit的设置,这可能会给您带来麻烦。
队列中可能存在一些棘手的问题;请向我们展示用于队列和退队列的SQL,pluse SHOW CREATE TABLE。
https://dba.stackexchange.com/questions/200069
复制相似问题