【问题标题】:How to store feed data in Redis?如何在 Redis 中存储提要数据?
【发布时间】:2020-04-06 08:47:04
【问题描述】:

我正在学习如何构建和查询所有帖子都存储在 PostgreSQL 中的社交媒体应用程序的数据。每个帖子都有一些可能很大的元数据,但只有一部分会显示在用户供稿中,例如 imageURL、标题。每个用户都有在 PostgreSQL 中链接的朋友。我想看看用 Redis 实现用户提要的最佳方法是什么。

  1. 如果 redis 在用户提要中仅存储 postID,它是否也应将帖子信息存储为不同的哈希表,并在获取用户提要后从哈希表中获取所有帖子信息

  2. 或者在从用户提要中获取 postID 后,在返回给用户之前查询 Postgres 中的帖子。

有什么更可扩展、更经济、更高效的解决方案,还是有完全不同的方法来解决这个问题?

【问题讨论】:

    标签: postgresql redis feed scalability


    【解决方案1】:

    如果我是你,我会接近 #1。但唯一能确定的方法是进行基准测试。

    您为什么不使用ab 或类似的工具来测试并亲自查看?

    【讨论】:

    • 我错过了一部分帖子数据也是弹性的。从弹性中获取这些 id 而不是制作单独的哈希表是个好主意吗?为什么在 postgres 上查询是个坏主意
    • 我更喜欢 redis 而不是 postgres 的原因是缩放 redis 比缩放 postgres 容易得多。再次,关于从 ES 加载或在 redis 中缓存,你应该总是在板凳上。每个人的工作量和用例都不同。
    • 好吧,这是有道理的,但是假设您刚刚开始您的项目,并且您没有流量或大量数据可以提供有意义的基准。你会选择这三种方法中的哪一种。考虑到数据是否已经弹性
    • 如果我是你,我会从 ES 加载。仅在 ES 出现性能问题时才缓存它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 2016-08-22
    • 1970-01-01
    • 2015-09-11
    • 2015-11-22
    相关资源
    最近更新 更多