基于项目更新时间的分页最佳实践
Best practice for pagination based on item updated time
假设我的数据库中有 30 个项目。 clientA 将根据项目更新时间进行 api 调用以获取前 10 条记录。并考虑一个用例,其中 clientB 通过对其进行一些更改来更新第 11 条记录(项目)。但是现在当 clientA 根据分页页面 2(从 11 到 20 的项目)对下一组项目进行 api 调用时,这是因为 clientB 更新了第 11 个项目,分页将在此处中断(基于更新此时第 11 项将变为 1,1 变为 2,2 变为 3 ...10 变为 11)。客户端 A 有可能会收到重复数据。
对于这种问题有没有更好的办法??
如有帮助将不胜感激
我认为您每次都可以完全不使用分页来检索所有元素,以防止在您的 table.
中出现这种“虚假信息”
如果可视化每条记录的实际值是强制性的,您可以随时向 api 添加一个新函数作为触发器。每次用户修改任何记录时,此 api 的函数将触发所有活动会话的消息,以通知用户某些数据已更改。举个例子,想想像“twitter 的实时提要”之类的东西。其中,当创建一组新的推文时,如果所有用户想要查看实时信息,Twitter 将通知所有用户重新加载页面。
假设我的数据库中有 30 个项目。 clientA 将根据项目更新时间进行 api 调用以获取前 10 条记录。并考虑一个用例,其中 clientB 通过对其进行一些更改来更新第 11 条记录(项目)。但是现在当 clientA 根据分页页面 2(从 11 到 20 的项目)对下一组项目进行 api 调用时,这是因为 clientB 更新了第 11 个项目,分页将在此处中断(基于更新此时第 11 项将变为 1,1 变为 2,2 变为 3 ...10 变为 11)。客户端 A 有可能会收到重复数据。
对于这种问题有没有更好的办法??
如有帮助将不胜感激
我认为您每次都可以完全不使用分页来检索所有元素,以防止在您的 table.
中出现这种“虚假信息”如果可视化每条记录的实际值是强制性的,您可以随时向 api 添加一个新函数作为触发器。每次用户修改任何记录时,此 api 的函数将触发所有活动会话的消息,以通知用户某些数据已更改。举个例子,想想像“twitter 的实时提要”之类的东西。其中,当创建一组新的推文时,如果所有用户想要查看实时信息,Twitter 将通知所有用户重新加载页面。