避免 Redis 通道中重复的正确方法

Sou*_*nta 6 transactions duplicates publish-subscribe redis

我有一个系统,多个发布者将数据放入同一个 Redis 通道中。所有发布者都发布相同类型的消息,但内容不同。每条消息都有一个唯一的 ID。然而,多个发布者可以将相同的消息(即具有相同的消息id)放入通道中。

我想避免频道中出现重复,以便订阅者只能收到唯一的消息。有没有办法配置 Redis 通道以避免重复?

如果没有,这就是我计划实施的。在 Redis 中保留SET消息 ID。在 Redis事务中,每个发布者在将消息放入通道之前必须检查 SET 中的消息 id。

如果有人有更好的想法或可以指出我的方法中的缺陷,我将不胜感激。

谢谢。