作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 facebook 的“点赞”应用程序 - 一个供多个“团队”使用的虚拟白板,这些团队共享该项目共有的“墙”。我捕获了大约 9-12 个实体的数据。我试图让用户的主页显示自上次登录以来发生的 Activity 的更新——比如 facebook 如何发布通知:
“[USER] 在 [某些实体] 上进行了 [某些 Activity ] - 20 分钟前”
其中 [...] 是可点击的链接, Activity 主要(而仅仅是)CRUD。
我必须坚持这些更新。我使用 MySQL 作为后端数据库,并考虑为每个项目创建一个可以存储 Activity 的更新表。但似乎每个表都需要一个触发器,这只是多余的。更重要的是,由于存在许多不同的实体,因此很难确定该更新表的表格架构。
约束条件是使用 MySQL,但我对“如何”实现此功能的其他选项持开放态度。
有什么想法吗?
PS:使用 jQuery + REST + ReSTLet + Glassfish + MySQL + Java
最佳答案
它不必在数据库级别处理。您可以拥有在每个操作中调用的事务日志记录服务。每个事务都有一个(唯一的、顺序的)键。
存储此人看到的最后一个项目的 key ,并在 key 较高的地方显示任何更新,即最后看到的 key 的更新。
定期例程可以遍历用户帐户并查看所有用户中最低的事务日志 key 是什么(即所有用户已经看到的最新日志条目是什么)并删除/归档具有 key 的任何条目 < = 那个。
关于java - 将更新发布到 "a"墙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4940568/
我是一名优秀的程序员,十分优秀!