如何解决Pub / Sub中的StackExchange.Redis LPop-潜在的竞争条件?
在Dotnet Core中使用StackExchange.Redis库时,我正在研究使用pub / sub功能来实现对某些here中所述的某些工作类的消息消耗的阻止。
给出的示例如下:
sub.Subscribe(channel,delegate {
string work = db.ListRightPop(key);
if (work != null) Process(work);
});
//...
db.ListLeftPush(key,newWork,flags: CommandFlags.FireAndForget);
sub.Publish(channel,"");
如果多个工作人员订阅channel
(在分布式系统中,不在同一主机上),则ListRightPop
不会存在潜在的竞争状况,因为它不是对Redis集群?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。