如何使用Django和Redis构建 Activity 供稿?

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

鲍勃喜欢凯尔的诗。

Bob开始关注Kyle。

鲍勃喜欢6首诗 ------>(Feed中所有六首诗合在一起)

Bob对Kyle的诗作了评论:美丽的作品!

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

最佳答案

您实际在做什么

  • 聚合逻辑(由于主框架是django,因此可以用python编写)
  • 在后台运行的任务队列,执行这些聚合逻辑
  • 在您的Redis数据库中对
  • 进行规范化和复制的数据,重复在您的主数据库中相关的数据,例如您的postgresql数据库

  • 您可以将 Activity 提要分解成多个组件,这些组件在Redis上聚集在一起,但在关系数据库上彼此相关。
    BobKyle以及poemsBeautiful piece是分别存储在关系数据库中的对象,分别是用户对象,用户对象,诗对象和注释对象。

    您的 Activity 类型为“关注”,“喜欢”,“评论”。

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

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

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

    关于ios - 使用Redis构建Django事件Feed,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13635533/

    10-15 20:20