1

如何使用 Django 和 Redis 构建活动提要?

示例:在我的 iOS 应用程序的“主页”部分,我想用用户通过 JSON 生成的活动来填充它。

鲍勃喜欢凯尔的诗。

鲍勃开始跟踪凯尔。

Bob 点赞了 6 首诗 ------>(所有 6 首诗在提要中汇总在一起)

鲍勃评论凯尔的诗:美丽的作品!

我该怎么做呢?如果问题不清楚,请告诉我,以便我为您和其他遇到此帖子并可能会发现它有用的人更清楚!谢谢

4

2 回答 2

1

你实际上在做什么需要

  1. 聚合逻辑(你可以用 python 编写,因为你的主要框架是 django)
  2. 在后台运行的任务队列,执行这些聚合逻辑
  3. redis 数据库中的非规范化和重复数据,重复主数据库中的关系数据,例如您的 postgresql 数据库

您可以将活动提要分解为其组件,这些组件在 redis 上聚合在一起,但在关系数据库中彼此相关。

BobKyle和是对象poemsBeautiful piece分别是存储在您的关系数据库中的用户对象、用户对象、诗歌对象和评论对象。

您的活动类型是“关注”、“喜欢”、“评论”。

然后,您可以编写您的 python 逻辑将它们聚合成一个单独的提要项,该提要项存储在您的 redis 数据库中,每个提要项都由对象和活动类型(以及该活动发生的时间戳)组成。

这是开始时的主要设计考虑因素。

这是一个很好的例子 - https://github.com/SupermanScott/redis-activity-example

于 2012-11-29T22:59:26.580 回答
1

Stream-Framework 是一个开源库,用于构建提要并支持 Redis 和 Cassandra 作为存储后端。

你可以在github上查看

免责声明:我是 Stream-Framework 的作者之一

于 2013-10-02T12:12:01.950 回答