worker多进程重复读取同一条redis数据

hello21st

MessageWorker的进程数是指为4,同一条redis数据就会被重复读取,有时候显示1条,有时候2条,3条。但把$worker->count改成1就只读1条了,不会重复。这是为什么呢?谢谢

$worker = new MessageWorker();
$worker->name = 'MessageWorker';
$worker->count = 4;
3361 1 0
1个回答

phpcreeper

正常,多进程读取外部存储可能会有并发发生,典型的并发读也叫脏读,所以这种情形需要考虑加锁;
相反单进程不会有这个现象。

  • 暂无评论
年代过于久远,无法发表回答
×
🔝