美文网首页
『武汉高校之恋』——广场KVDB设计

『武汉高校之恋』——广场KVDB设计

作者: SkyWatcher | 来源:发表于2015-04-09 21:34 被阅读175次

    广场功能

    • 发状态
    • 评论状态(回复评论)
    • 状态、评论赞同或反对
    • 消息提醒

    KVDB设计

    状态信息记录
    uid根据时间戳生成的唯一的倒序值,uid = 未来某个时间戳-当前时间戳(就取3000年吧,如果高小恋到时候还没死的话),KVDB的get请求自动从大到小排序。

    状态基本信息

    用户状态记录
    记录用户所发状态,uid根据时间倒序,用于加载用户自己发布的状态。

    用户状态记录

    评论、回复记录

    评论、回复记录

    状态赞同、反对记录

    状态赞同、反对

    评论(回复)赞同、反对记录

    评论(回复)赞同、反对

    状态关注者记录
    状态有新的回复时通知所有follower

    状态关注者

    消息提醒记录
    有新的回复或评论时添加消息提醒记录。

    消息提醒记录

    场景实现

    发布状态 记录状态基本信息,用户发帖记录,添加该用户为该状态关注者。分别为

    square_post_uid = {postID, content, author_id, timestamp}
    square_mypost_userID_uid = {post_id}
    square_follow_postID = {user_id, timestamp}
    

    评论状态、回复评论 记录评论、回复基本信息,添加评论、回复人为关注者,评论的to_user_id为空。

    square_comment_postID_uid = {commentID, to_user_id, from_user_id, content, timestamp}
    square_follow_postID = {user_id, timestamp}
    

    状态赞同、反对,评论赞同、反对
    查询square_likePost_postID_userID或square_disikePost_postID_userID判断是否有已经赞同或反对过。否则

    square_likePost_postID_userID = {nickname, timestamp}
    square_disikePost_postID_userID = {nickname, timestamp}
    …
    

    主页提醒
    ● 广场按钮
      根据last_seen时间戳生成uid,获取square_post_uid之后的状态数量,提醒有多少新状态发布。
    ● 个人主页按钮
      根据user_id前缀查询square_notify_userID获取回复提醒数量
    点击进入:删除该记录,并根据post_id和comment_id查询状态和评论信息简略显示

    个人页面
      根据user_id前缀查询square_mypost_userID查询自己已发布状态post_id(即uid),默认按post_id排序,即按时间倒序。根据post_id查询对应的状态square_post_uid所有信息并显示。

    广场页面
      根据前缀square_post获取10个最新的状态信息,根据post_id前缀查询square_comment_postID总数,根据square_likePost…等查询likes-dislikes并显示,根据最后一个post_id加载更多。

    状态页面(顺序还是倒序显示评论?)
      根据square_comment_postID前缀查询(默认按时间(uid)倒序)10个最新评论或回复,根据square_likePost…等查询likes-dislikes并显示,根据comment_id加载更多评论。

    Talk is cheep,show me the code!

    应该还会遇到不少坑,未完待续!

    附上CEO产品软文

    相关文章

      网友评论

          本文标题:『武汉高校之恋』——广场KVDB设计

          本文链接:https://www.haomeiwen.com/subject/umnhxttx.html