1

我正在开发一些基于 Java 的 Web 应用程序。当其他人在应用程序中发表评论时,我们需要维护特定用户集的未读计数(由某些资源例如文档分组)。为了维护评论,我们使用 MySQL。让我解释一下 DB 模式:

表 1:包含以下属性的文档

ID、DOCUMENT_NAME、其他一些参数

表 2:包含以下属性的注释

COMMENT_ID, MESSAGE, DOCUMENT_ID(表1的外键)

注:表 1 和表 2 中的一对多关系。

现在,假设属于文档 1 的一个用户发布了一条新评论。我们需要更新属于文档 1 的其他用户的未读计数。我们认为,我们将创建一个新表,我们将通过以下方式恢复未读计数:

表 3:文档-评论-未读

DOCUMENT_ID、USER_ID、UNREAD_COUNT

每当用户对文档发表评论时,我们将使用一些 AWS Lambda在表 3中异步更新未读计数。同样,如果用户想删除一些不需要的评论,我们将减少属于特定文档的所有用户的未读计数,并且每当任何用户看到相同文档的所有评论时,在这种情况下,我们需要将未读计数再次重置为 0文件。每当发布/删除/查看评论时,整个方法都需要大量的数据库操作。那是相当麻烦的。

有没有其他有效的方法来实现类似的功能?

4

0 回答 0