设计用于存储博客网站关键值数据库中数据的数据结构



我需要通过使用键值数据库作为主数据库来从头到尾创建一个博客网站。但是,当我为项目创建数据结构以根据项目需求存储和查询数据时,我无法思考如何为两个函数设计数据模型;投票选出最喜欢的博客文章"和";按类别搜索博客文章">。对于函数";投票选出最喜欢的博客文章";,该要求说";该网站允许用户对喜爱的博客文章进行投票,如果任何博客文章达到150票,就会被列为感兴趣的博客。如果该网站每天有大约30个感兴趣的博客文章,则该网站将把这30个博客文章放在主页上,并称之为";感兴趣的前50个博客文章";。每一篇博客文章都会有相应的分数,稍后进行评估。并且该网站将不允许用户对一篇博客文章进行多次投票;

现在我需要为上面的两个函数设计这样的数据结构。但我不知道,尤其是函数"投票选出最喜欢的博客文章";。

例如,使用函数";每一篇博客文章都会有来自读者的评论;我将在键值数据库中设计数据结构,如:

CMT:$BLOG_ID:$RATING: [ {"VIEWER_ID":"", "timestamp":"","image":"","comment":""},{..},{...}].

有人能对此暗示一下吗?非常感谢。

投票选出最喜欢的博客文章

blog:id:votes的计数器,当博客被投票时递增

递增后,如果已达到150票,则将id添加到另一个密钥的50票列表中

按类别搜索博客文章

创建一个从类别到博客id 的invertex索引

因此,如果一个博客是用食物和音乐类别创建的,你应该生成两个关键字,比如music:blogIdfood:blogId

然后进行搜索,对类别进行前缀扫描:*并获取与类别匹配的博客ID

最新更新