首页
学习
活动
专区
工具
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.7K50

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

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

4.6K101

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

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

2.2K20

Echo 评论如何显示

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

98311

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

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

1.1K20

Echo数据库表是如何设计

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

85421

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 模块是怎么做

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

71621

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

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

19021

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.6K20

豆瓣自动批量

: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)。

21510

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

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

1.3K30

纽约蹭饭手册:怎样利用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

97010

你所不知道缓存使用场景

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

1K20

Reddit技术分享被群嘲为「无耻自我宣传」

文章标题为「几乎没人知道的如何很容易地优化AI模型」。 一切看着都很正常,一个简单技术分享帖子,但网友却不买账,他们认为这是无耻「自我营销」行为。...不幸是,这篇文章被贴上了「无耻自我宣传」标签,而对技术问题回答也被其他评论所掩盖。 他恳请那些真正尝试过这个库的人再对这个帖子进行评论。...下面回复一个网友也表示,太多科技媒体不懂技术了,他们可能都不知道在PyTorch里面使用.cuda()可以直接提升1000倍模型速度? 并怀疑早期评论都是买网络水军。...更直接网友表示,这纯属垃圾信息,不知道这些天reddit发生了什么。 也有网友举了最近另一个帖子当例子:虽然有931个,但高评论几乎都是负面评价。...看到更多是人们在速度上下功夫,或者如何在代码上打补丁,尽管这对SLA来说不是必要。分析性能不需要很大工作量,主要是因为很多从业者来自软件工程背景,他们认为可以努力取得进展内容就是运行速度。

50710

【Java 进阶篇】MySQL多表关系详解

在实际数据库设计应用中,多表关系是非常常见,它能够更好地组织管理数据,实现数据复杂查询分析。本文将详细介绍MySQL多表关系基本概念、类型、设计原则以及常见应用场景。 1....在数据库设计中,有时候一个单独表格无法满足数据存储查询需求,这时就需要使用多表关系。多表关系引入有以下几个主要原因: 数据规范性: 数据库设计需要满足规范化原则,避免数据冗余不一致。...常见应用场景 以下是一些常见应用场景示例代码,演示了如何在MySQL数据库中使用多表关系管理数据。这些场景包括电子商务、学校管理系统社交媒体平台。 1....社交媒体平台 - 用户帖子 在社交媒体平台中,用户可以发布多个帖子,而一个帖子也可以有多个用户参与(评论等)。这是一个多对多关系。...了解多表关系基本概念、设计原则常见应用场景对于数据库设计应用开发都非常重要。通过合理设计多表关系,可以提高数据库性能和数据一致性,为应用提供更好支持。

22720

概要设计说明书【校园BBS论坛】2022-5.5

) 3 数据库系统概论(第5版)(高等教育出版社) 2 总体设计 2.1需求规定 用户需求 对于一个用户,使用论坛进行交流时,首先要注册一个 账户,然后登录后才能进行对帖子回复,如果不登录,就 只能查看帖子而不能进行回复发表帖子...用户使用论坛系统需求是发表某一个主题相关帖子,用户在发表帖子后, 如果有人进行回复,就要在首页提醒用户有新消息。用户可以删除自己发表帖子评论。...从整体上可以分为数据层、数据访问层业务逻辑层。数据层是系统最底层,它用于存储系统所有数据。数据访问层建立在数据库之上,应用程序通过该层访问数据库。...查看帖子界面:用户在看到问题后可以点击该问题便可跳转到该界面,在该界面展示问题详细信息,并且需要提供给用户“”按钮评论栏。 个人中心界面:用户在主界面点击个人中心跳转按钮可以跳转到该界面。...,使用另一个效率稍低系统或方法求得所需结果某些部分,例如一个自动系统降效技术可以是手工操作和数据的人工记录; 恢复及再启动技术说明将使用恢复再启动技术,使软件从故障恢复执行或使软件从头开始重新运行方法

1.4K11

高并发系统架构设计之实战篇34:计数系统设计之计数器设计

引言 在之前课程中,分别从数据库、缓存、消息队列分布式服务化角度,带你了解了面对高并发时候要如何保证系统高性能、高可用高可扩展。...来看这样一个场景: 在地铁上,你也许会经常刷微博、热搜,如果有抽奖活动,再转发一波,而这些与微博息息相关数据,其实就是微博场景下计数数据,细说起来,它主要有几类: 微博评论数、数、转发数、...假如要存储微博维度(微博计数,转发数、数等等)数据,你可以这么设计表结构: 以微博 ID 为主键,转发数、评论数、浏览数分别为单独一列,这样在获取计数时用一个 SQL 语句就搞定了。...在微博最初版本中,首页信息流里面是不展示计数数据,那么使用 MySQL 也可以承受当时读取计数访问量。但是后来在首页信息流中也要展示转发、评论等计数数据了。...总的来说,用微博设计计数系统例子,并不是仅仅告诉你计数系统是如何,而是想告诉你在做系统设计时候需要了解自己系统目前是什么,然后再针对痛点来做细致优化。

24510
领券