PHP中的Java同步概念 条件

PHP中的Java同步概念 条件,php,zend-framework,magento,Php,Zend Framework,Magento,我在core\u config\u data表的记录中有一个以逗号分隔的空运提单编号列表。此表使用engine Innodb 我有一个类,它有一个函数,可以读取这个记录,分解它,取消移动一个航空账单号,内爆rest并再次保存到数据库中 问题 当两个或两个以上的人在同一实例中按“分配空运提单号”时,所有装运都会得到相同的空运提单号 SELECT counter_field FROM child_codes FOR UPDATE; UPDATE child_codes SET counter_fie

我在core\u config\u data表的记录中有一个以逗号分隔的空运提单编号列表。此表使用engine Innodb

我有一个类,它有一个函数,可以读取这个记录,分解它,取消移动一个航空账单号,内爆rest并再次保存到数据库中

问题 当两个或两个以上的人在同一实例中按“分配空运提单号”时,所有装运都会得到相同的空运提单号

SELECT counter_field FROM child_codes FOR UPDATE;
UPDATE child_codes SET counter_field = counter_field + 1;
问题: 在php/magento/zend中有没有一种方法可以实现这种情况下的同步

问候,,
Saurabh

您可以使用锁,但我建议创建一个用于空运提单编号的表

SELECT counter_field FROM child_codes FOR UPDATE;
UPDATE child_codes SET counter_field = counter_field + 1;

  • 您可以将redis与blpop/push一起使用。(我想性能最好)
  • 你可以用
  • 你也应该读一些关于 交易=>

如果我有主从式环境,它会工作吗。我使用Master来插入,slave来读取。我找不到有关此特定问题的清晰文档,但我认为更新slave是合乎逻辑的,因为您正在从它读取。如果您从Master获取数字,您将清楚这些保存。