【问题标题】:how to handle the subscribe channel in redis using pub/sub system directly如何直接使用 pub/sub 系统处理 redis 中的订阅通道
【发布时间】:2021-05-07 14:11:46
【问题描述】:

现在我想使用 redis 来实现一个 pub/sub 系统,我的系统中有 1000+ rss 频道。以及一个由 Python 3 编写的 scrapy rss 频道更新应用。10000+ 用户订阅他们喜欢的频道。

获取文章的时候,在scrapy端,我只想把文章发送到redis中的频道,现在我在redis中存储用户订阅的文章列表是这样的:

cruise:user:1234:subscrible     1,2,3(article id list data structure.....)

现在我希望在将文章发送到频道时,文章 ID 会自动推送到用户订阅列表标题中。是否可以在redis中实现?

现在我只知道在客户端消费文章,找到订阅频道的用户,并使用lpush将文章id插入redis。但问题是:

当一个频道有 10000000 用户订阅时,应该调用 lpush 命令 10000000+ 次。有更好的解决方案吗?是否可以使用 redis 来维护 sub/pub 关系,并通过 redis 本身自动挂起文章 id?

喜欢这个模型,但是客户端是redis中的一个列表,我想频道发送文章id到客户端列表头中。

【问题讨论】:

    标签: redis


    【解决方案1】:

    我认为您不需要将用户绑定到文章。只需将用户绑定到频道,然后将频道绑定到文章。 获取新文章时,首先确认并找到频道,然后将文章id放入相关频道文章列表中。

    【讨论】:

    • 我想在 UI 中获取用户订阅文章列表。所以我将用户订阅文章 ID 作为列表存储在 redis @Renshaw
    • 获取用户订阅文章列表。您可以拆分为 3 个步骤。 1.获取所有用户订阅频道。 2.获取各个频道的所有文章。 3.合并所有文章
    猜你喜欢
    • 2023-02-12
    • 2015-09-03
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 2019-06-09
    相关资源
    最近更新 更多