首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何设计我的数据库来存储评论和帖子的点赞?

为了设计一个数据库来存储评论和帖子的点赞,可以采用以下方案:

  1. 数据库设计:
    • 创建两个表:一个用于存储评论,另一个用于存储帖子。
    • 评论表包含字段:评论ID、评论内容、用户ID、帖子ID、点赞数等。
    • 帖子表包含字段:帖子ID、帖子内容、用户ID、点赞数等。
  • 数据库关系:
    • 评论表和帖子表之间可以建立一对多的关系,即一个帖子可以有多个评论,但一个评论只能属于一个帖子。
    • 用户ID字段可以用于关联用户表,以获取用户相关信息。
  • 存储点赞信息:
    • 可以在评论表和帖子表中添加一个点赞数字段,用于记录点赞的数量。
    • 当用户点赞评论或帖子时,可以通过更新相应记录的点赞数字段来实现。
  • 数据库性能优化:
    • 可以为评论表和帖子表的点赞数字段创建索引,以提高查询性能。
    • 可以使用缓存技术,如Redis,将热门评论和帖子的点赞数缓存起来,减轻数据库的压力。
  • 应用场景:
    • 该数据库设计适用于需要存储评论和帖子的点赞信息的应用场景,如社交媒体平台、论坛、博客等。
  • 腾讯云相关产品:
    • 腾讯云提供了多种数据库产品,如云数据库MySQL、云数据库MongoDB等,可以根据具体需求选择适合的产品。
    • 云数据库MySQL:https://cloud.tencent.com/product/cdb
    • 云数据库MongoDB:https://cloud.tencent.com/product/cosmosdb

请注意,以上答案仅供参考,具体的数据库设计取决于应用的需求和规模。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

我是如何根据豆瓣api来理解Restful API设计的

REST本身跟http无关,但是目前http是与它相关的唯一实例。REST有着优雅、简洁的特性,本文是根据豆瓣api来谈谈自己对restful的一些理解。...把动作转换成资源 比如,上述接口中,用户收藏某本书对外暴露的接口是”/v2/book/:id/collection”,收藏动作通过post方法来展现,而不直接写着api中,collection “收藏...使用权限验证,shiro ,或者自己建数据库(用户、角色、权限) 7.api文档 接口文档的编写至关重要,最好是写一个在线接口文档。接口文档能够方便团队查阅,减少不必要的沟通。...8.参考资料 本文参考了以下的资料: 豆瓣api 理解restful架构 restful introduction 跟着github学习restful api设计 REST接口设计规范 restful...api 设计指南

1.8K50

这个评论系统设计碉堡了

也就是说用户不用刷新帖子,只要帖子有新的评论就会自动推送到用户端,这里Facebook使用的便是每天在全球有超过20亿设备在使用的WebSocket技术。 我是南哥,一个Java学习与进阶的领路人。...评论系统设计 1.1 评论表如何设计 评论系统的表要这么设计,每条评论的id标识要么是根评论id、要么是回复评论id。...我曾经和老外程序员在论坛聊过,他说他们的点赞后端分布式服务用的本地缓存,即使每一个服务的本地缓存相对不太一致,对系统完全没有影响。...当然这还没完,MySQL数据库和Elasticsearch的点赞量需要去同步更新,我们设置定时任务每个一段时间完成数据同步任务。...我是南哥,南就南在Get到你的点赞点赞。 创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

20198
  • 独立开发 一个社交 APP 的架构分享 (已实现)

    目录:(点击可跳转) 一 、功能架构 公共部分 用户管理 帖子模块 文章模块 我的模块 搜索模块 二 、移动端架构概述 框架层 线程层 缓存层 网络层 实现层 三、服务端架构概述 服务器 数据库引擎 数据库设计...按编辑 图文混排类型 图文加视频录制类型 按类型(内容布局各不相同) 圈子,可以发布视频,显示位置 我的作品,图文混排,瀑布流显示 创业,不开启评论与点赞 操作: 帖子评论与评论的回复,包含表情的插入...: 使用x5浏览器内核显示,效果和微信相似,包括视频播放 权限 除了不能被帖子点赞,其他同帖子操作 我的模块(用户信息) 我的背景图片 显示在个人信息页面 点击可以修改,含剪辑 我的消息模块 推送...,点击某一条,都会跳转进入对应帖子或文章 我的帖子模块,显示所有发过的帖子 我的评论,显示所有发过的评论,包含回复 我喜欢的模块,显示所有点过赞的帖子或评论 我的收藏模块,显示所有收藏过的帖子或文章 我的设置模块...我采用的是 SharedPrefrences 和 File即是文件存储,其中 标记性数据采用 SharedPrefrences,例如是否隐藏操作记录,用户名称等 帖子列表、评论列表类大批量数据采用了File

    4.9K101

    开源社区系统 Echo 超全文档助力春招

    ,并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。...、评论/回复点赞 第 1 次点赞,第 2 次取消点赞 首页统计帖子的点赞数量 详情页统计帖子和评论/回复的点赞数量 详情页显示当前登录用户的点赞状态(赞过了则显示已赞) 统计我的获赞数量 权限管理(Spring...一个帖子的详情页需要封装的信息大概如下: ? 添加评论(事务管理) ? 私信列表和详情页 ? 发送私信(异步请求) ? 点赞(异步请求) 将点赞相关信息存入 Redis 的数据结构 set 中。...比如 key = like:entity:2:246 value = 11 表示用户 11 对实体类型 2 即评论进行了点赞,该评论的 id 是 246 某个用户的获赞数量对应的存储在 Redis...帖子热度计算 每次发生点赞(给帖子点赞)、评论(给帖子评论)、加精的时候,就将这些帖子信息存入缓存 Redis 中,然后通过分布式的定时任务 Spring Quartz,每隔一段时间就从缓存中取出这些帖子进行计算分数

    2.4K20

    被V神点赞, 我是如何用五子棋打败以太坊排名最高的应用的? |人物志

    早年,老董凭借强大的技术和学术背景,做了很多区块链相关技术的培训课程,尤其擅长用极其简单的语言来解释复杂的技术原理,「现在有四五百人毕业了」。...链上链下的方向和使用手段往往不要一样:链上需要扩展的是你需要永远存储在区块链上的东西;而链下则针对一些不需要永远存储在链上的东西。...我们将每层接口的集体规范称为cStack,包括以下部分: cStack:分层结构,清晰的抽象和界面。减少系统设计,开发和维护的复杂性。...完全分散的高失败弹性; cOS:支持离线功能的应用程序的开发框架和运行时。提供通用的设计模式,并处理脱链状态的操作,存储,跟踪和争议; cApps:在Celer Network上运行应用程序生态系统。...但现在我的看法改变了,我认为,真正的平台开发者,不光要做整个社区当中最先进的研究者,更要做整个社区商业模式的创造者,这一点必不可缺。 为什么大家现在都没有找到区块链的商业模式?

    1.1K20

    Echo 的评论是如何显示的

    关于评论模块需要注意的就是评论表 comment 的设计,这个表应该是相对来说最复杂的一张了。因为不仅有评论(对帖子的评论),还有对评论的回复,都放在这一张表里面了。...就是评论;如果是针对评论的,那么这条 comment 就是回复) entity_id:实体的 id(如果是对帖子的评论,就存储帖子的 id;如果是对评论的回复,就存储评论的 id;还有对回复的回复,存储的仍然是所属评论的...解释下下图中 selectCommentByEntity 这个方法,和帖子分页差不多,它的功能就是根据 entityType 和 entityId 来分页查询评论。...还是很清楚的,我们需要后端传过来的数据有如下这些: 帖子的相关信息:包括内容、标题、发帖时间、以及作者信息、点赞数量、评论数量、当前登录用户对该帖子的点赞状态等 评论的相关信息:包括内容、发布该评论的时间...、以及发布该评论的作者信息、点赞数量、回复数量、回复的相关信息、当前登录用户对该评论的点赞状态等 回复的相关信息被封装在评论的相关信息里面,既然回复和评论我们都放在一张表里面了,那自然不用多说,它和显示评论所需要的信息是一样的

    1K11

    java基于springboot外卖系统在线订餐系统app源码厨艺论坛APP

    (6)使用论坛普通用户可以发布帖子、查看帖子、点赞以及关注其他用户。...在这个功能模块里,用户不仅可以浏览或发布帖子,还可以对帖子进行回复、点赞、和举报。(4)我的功能模块显示的是收货地址、购物车、我的订单、系统通知、我的钱包、充值、我的论坛、联系我们等信息。...论坛里设计显示的是,用户可以看到自己以往发布和举报的帖子,还有点赞关注的用户,包括关注的帖子主题。在我的功能模块右上角,还可以修改用户密码,也可以注销用户,重新登录新用户。...图3.4论坛管理功能模块设计图2.3 数据库的设计2.3.1 数据库概念设计(1)地址信息表地址信息表是用来存储地址ID、详细收获地址信息、联系手机号、收货人姓名、用户id等信息。如图3.6所示。...图3.7广告实体E-R图(3)帖子信息表帖子信息表是用来存储帖子的ID、帖子的内容、帖子的标题、此贴的点赞数量、帖子的浏览量、发帖用户ID、帖子类别ID、帖子的图片路径等信息。如图3.8所示。

    2.1K00

    Echo的数据库表是如何设计的

    Echo 这个项目数据库设计并不复杂,需要我们手动设计的只有四张表: 帖子表:discuss_post 评论表:comment 用户表:user 私信表:message 用户表 ?...激活的逻辑也很简单,就是检查一下这个链接中的用户 id 和激活码是否和数据库中存储的一样。 帖子表 ?...comment_count:帖子的评论数量(因为会频繁的显示帖子的信息,比如创建时间、创建人、评论数量、点赞数量等,创建时间和创建人信息这张表中已经有了,所以此处再将评论数量存进来就好。...可能会有同学会问啥不把点赞数量也缓存到帖子表中,因为点赞数量是存在 Redis 中的,获取点赞数量咱连数据库都不用进的,还费劲在这存一份干啥) score:热度 / 分数(用于按照热度排行帖子) ?...就是评论;如果是针对评论的,那么这条 comment 就是回复) entity_id:实体的 id(如果是对帖子的评论,就存储帖子的 id;如果是对评论的回复,就存储评论的 id;还有对回复的回复,存储的仍然是所属评论的

    88721

    80后聊架构:究竟怎么做架构设计? | 架构师之路

    《架构师之路:架构设计中的100个知识点》 2.究竟怎么做架构设计? 做了多年架构设计,很多人连架构设计的关键流程和步骤都不知道。...我们要根据潜在的主要矛盾,细化与迭代顶层设计。 例如:你要做一个计数系统,对推文的阅读,转发,点赞,评论数进行计数。 假如主要矛盾如果是并发,1秒10万次?...这也是我非常推崇的两大核心架构设计理念: 其一,任何脱离业务的架构设计都是耍流氓; 其二,架构不只是设计而来的,更是迭代与演进而来的; 这两个架构理念,我会在接下来的100个架构知识点里反复提及。...国外信息分类做得最好的应该是 Craigslist 了,网上调研一些相关的资料,可以了解到,其核心的一些关键设计点: 如何品类扩展? 服务垂直拆分,数据垂直拆分... 如何扩展属性?...第四步,根据主要矛盾迭代设计。 主要矛盾1:多品类帖子数据的分开存储,使得核心业务流程及其复杂,怎么解? 潜在方案:统一帖子中心服务IMC(Info Management Center)。

    5700

    Echo 的点赞模块是怎么做的

    点赞这个模块能讲的东西挺多的,它包含两个小模块: 1)实现点赞动作: 支持对帖子、评论/回复点赞 第 1 次点赞,第 2 次点击则取消点赞,并显示用户的点赞状态 2)查询获赞数量: 查询每篇帖子的获赞数量...查询每篇帖子和每个评论/回复的获赞数量 查询我的获赞数量 ?...需要特别注意的是,Redis key 命名需具有简洁性、可读性以及可管理性,根据阿里云的 Redis 开发规范,我们给 Redis key 起名的时候需要遵守这样的原则: 以业务名(或数据库名)为前缀(...like:entity:entityType:entityId,显然,like:entity 是不会变的,你可以把它理解为一个名为 like 的数据库下的 entity 表,value 即代表点赞用户...上面这条记录的意思就是 id = 11 的用户对实体类型 1 即帖子进行了点赞,该帖子的 id 是 246。

    73021

    听说你会架构设计?来,解释一下为什么错不在李佳琦

    点赞和踩:用户可以给评论点赞或踩,以表达自己的喜好。 评论拉取:评论需要按照时间或热度排序,并且支持分页显示。...对于嵌套评论的存储,我们可以使用递归结构或层次结构的数据库设计,也可以使用关系型数据库表结构。评论表(comment)字段如下: comment_id:评论唯一标识符,主键。...评论限制:根据用户 ID 和直播 ID 进行限流,比如让用户在一分钟之内最多只能发送 10 条的评论。 不知道如何限流的,可以看小❤之前的这篇文章:若我问到高可用,阁下又该如何应对呢? 4....算法模块监听对象存储服务,每天实时拉取训练数据,并获取可用的情感分析和语义理解模型。 当有新的评论出现时,会先调用算法模型,然后根据情感的分析结果来存储评论信息。...总的来说,评论系统是在线社交和内容互动的重要组成部分,希望看过这篇文章之后,大家以后知道如何应对类似的公关危机,到时候记得回来给我点赞。 什么?你想现在就分享、点赞,加入在看啊!

    20821

    REST API 最佳实践

    如果发生这种情况,从这样的数据库中检索数据可能非常缓慢。 过滤、排序和分页都是可以在 REST API 的集合上执行的操作。这样只能检索、排序和排列必要的数据,并将其分页,以防服务器请求过载。...的其中一个好处是可以表示资源之间的层级关系,例如文章下面会有评论(Comment)和点赞(Like),这两项资源必然会属于某一篇文章,所以它们的 URL 应该是下面这样的。...点赞: GET /articles/{id}/like:查看文章是否被点赞 PUT /articles/{id}/like:点赞文章 DELETE /articles/{id}/like:取消点赞 REST...注意,点赞文章我选择了 PUT 而不是 POST,因为我觉得点赞这种行为应该是幂等的,多次操作的结果应该相同。 4.FAQ 批量删除接口如何设计?...删除单个资源可以在 URL PATH 中指定资源 ID ,如删除文章评论。 DELETE /comments/{id} 如果需要同时删除多条文章评论,URL 该如何设计呢? 常见的方式有如下几种。

    1.7K20

    豆瓣自动批量点赞

    :http://xfxuezhang.cn/index.php/archives/320/ 给定“用户名”和“评论内容”,搜索指定帖子下所有匹配的评论,并以此点赞; 若“用户名+评论内容”有多条,则都算匹配成功...给出 “登录账号(可多个)”、“帖子链接(可多个)”、“评论内容(可多个)”,即可自动执行点赞。 ? 帖子链接格式: ? 登录账号格式: ? 评论内容格式: ?...,也是读取后存下来 urls = util.readUrls("urls.txt") # [url1, url2] 3、对于要评论的内容,通过用户的昵称和评论内容来定位,存的时候就存为json格式 {...(self, url, comments): """ 遍历所有页,定位评论的位置 :param url: 帖子链接 :param comments: 目标用户昵称和评论内容的集合...=> 依次点赞for :param accounts: 账号的集合 :param comments: 用户昵称和评论内容的集合 :return urls: 帖子的集合

    3.2K30

    剑指 Offer:Redis 的 14 大使用场景!

    大家好,又见面了,我是全栈君。 昨天一位网友在面试腾讯中被问到了,Redis 是单线程的,为什么还那么快?他回答的不是很好,而且面试官也善意的提醒了一些关键点,但是由于他没准备,所以再次失败了。...关于这个问题,我其实在一年前就写过这个答案《Redis 是单线程结构,但为何单线程还能支持高并发?》。 今天我们来讨论另外一个关于 Redis 的高频面试题:Redis 的使用场景有哪些?...所以,今天我就抽个一点时间,根据以前我做电商的经验。分享一下 Redis 的 10 大使用场景。 1、记录帖子或者文章的点赞数、评论数和点击数 (hash)。...4、记录帖子的点赞用户 ID 列表,评论 ID 列表,用于显示和去重计数 (zset)。 5、缓存近期热帖内容 (帖子内容空间占用比较大),减少数据库压力 (hash)。...6、记录帖子的相关文章 ID,根据内容推荐相关帖子 (list)。 7、如果帖子 ID 是整数自增的,可以使用 Redis 来分配帖子 ID(计数器)。 8、收藏集和帖子之间的关系 (zset)。

    22810

    纽约蹭饭手册:怎样利用Python和自动化脚本在纽约吃霸王餐?

    后来我的想法是让响应变量等同于点赞率(即点赞数/粉丝数),并尝试进行预测。但在观察每张图片及其点赞率后,我认为点赞率和图片质量的相关性不大。我不认为那些点赞率高的照片就是高质量照片。...每篇帖子的元数据可以提供我以下信息: ? 从这七个解释变量里,我改变了一些我认为有用的特征。例如,我改变了评论的数量和点赞率。...我使用适合纽约市的任何图片的通用标题,标记了图片的Instagram帐户和原始来源,添加了三十个主题标签来提升帖子的曝光率。如果你继续查看帖子评论,你甚至还可以看到原始作者向我表示感谢。 ?...我浏览了20多个相关帐户,关注了他们的粉丝,赞他们的照片或评论他们的帖子。...此外,从上午7:00 到下午 10:00,它通过分析点赞、关注和不关注的受众人群来修改自身的设置,并且通过一些算法来优化受众人群的定义。

    1.4K30

    腾讯频道Feed流系统架构设计

    既然是以帖子为内容载体,那帖子系统如何实现则是频道的架构设计中重要的一环。...其他我发表的、我点赞的、我浏览的帖子列表则是字面意思,不一一展开介绍。 除此之外还有帖子的评论列表,评论的回复列表,个人的互动消息列表等等也不一一展开。...代理层:屏蔽存储层,对外提供统一的原子接口,或者聚合接口。 存储层:负责存储帖子、评论等内容的索引和数据。 轻重分离:核心接口和非核心接口隔离,避免互相干扰和影响,同时减少发布观察的成本。...于是: 这里我们依然选择读扩散,可能又有人会问这里为什么不把我关注的所有的频道的帖子写一份给我,像微信朋友圈一样的设计,这样我就可以简单的查询自己的列表就可以了。...第N页:10*N*10*5=500*N 我们看到随着页数越多,我们需要查询的帖子越来越多,急需对读扩散进行剪枝: 各子频道最新发表时间:通过存储各子频道最新发表时间,用空间换取时间,来对子频道数*频道数进行剪枝

    6410

    纽约蹭饭手册:怎样利用Python和自动化脚本在纽约吃霸王餐?

    后来我的想法是让响应变量等同于点赞率(即点赞数/粉丝数),并尝试进行预测。但在观察每张图片及其点赞率后,我认为点赞率和图片质量的相关性不大。我不认为那些点赞率高的照片就是高质量照片。...每篇帖子的元数据可以提供我以下信息: ? 从这七个解释变量里,我改变了一些我认为有用的特征。例如,我改变了评论的数量和点赞率。...我使用适合纽约市的任何图片的通用标题,标记了图片的Instagram帐户和原始来源,添加了三十个主题标签来提升帖子的曝光率。如果你继续查看帖子评论,你甚至还可以看到原始作者向我表示感谢。 ?...我浏览了20多个相关帐户,关注了他们的粉丝,赞他们的照片或评论他们的帖子。...此外,从上午7:00 到下午 10:00,它通过分析点赞、关注和不关注的受众人群来修改自身的设置,并且通过一些算法来优化受众人群的定义。

    1.3K60

    Redis位图实现点赞签到相关功能

    前言 对于我们平时的一些社区应用,如微博,知乎,掘金等应用点赞,评论这类功能是不可或缺的,例如点赞功能我们其实是可以通过 mysql 去做实现的,但是每次点赞都去实时改库可以想象一下当遇到一个热点文章例如...,前段时间大火特火的爆料某艺人日薪多少帖子,这个上千万乃至亿级的点赞量,这个时候我们再去实时改库的话就不那么恰当,今天我们介绍的主角是Redis的位图操作,接下来我们引出正题,来看一下位图是这么做到的;...因为只统计0,1我们可以使用位图来进行存储,这样每天的签到记录只占据一个位,365 天就是 365 个位,46 个字节 (一个字节有8位) 就可以完全容纳下,这样就很节省资源了,同时也提高了效率; 基本命令...我们先拿点赞功能来做一个简单的编码介绍: 帖子1(post1): postId:1 postName:《震惊!...点赞功能 我这里的处理方式是异步改库,点完赞之后异步修改数据库,不要求实时处理结果其实可以用定时任务去批量改库(需要存一定时间内的 postId 和 userId 索引关系); @Override public

    1K10

    你所不知道的缓存的使用场景

    基本就是数据库里面啥样,我缓存也啥样,数据库里面有商品信息,缓存里面也放商品信息,唯一不同的是,数据库里面是全量的商品信息,缓存里面是最热的商品信息。   ...场景2:列表排序分页场景的缓存   有时候我们需要获得一些列表数据,并对这些数据进行排序和分页。   例如我们想获取点赞最多的评论,或者最新的评论,然后列出来,一页一页的翻下去。   ...因此可以有一个计数服务,后端是一个缓存,将计数作为结果放在缓存里面,当数据有改变的时候,调用计数服务增加或者减少计数,而非通过异步数据库count来更新缓存。   ...例如一个商品的所有的帖子和帖子的用户,以及一个用户发表过的所有的帖子就是属于两个维度。   这需要写入一个维度的时候,同时异步通知,更新缓存中的另一个维度。   ...场景5:较大的详情内容数据缓存   对于评论的详情,或者帖子的详细内容,属于非结构化的,而且内容比较大,因而使用memcached比较好。 ?

    1.1K20
    领券