实时变动数据。如何正确的处理分页呢?

2020-07-13 16:52:59 +08:00
 blakejia
比如一个论坛,所有帖子按最后用户回复时间排序。那如果在用户浏览第一页完到获取第二页数据时。整个数据集合已经与请求第一页不一致了。
可能会导致用户最终看不到某些帖子,或者某些帖子出现了两遍
1956 次点击
所在节点    问与答
13 条回复
blakejia
2020-07-13 16:54:02 +08:00
刚测试了下。V2 也存在这个现象
183shl
2020-07-13 16:54:16 +08:00
lastTime 或者 lastId
lxk11153
2020-07-13 16:55:17 +08:00
"按最后用户回复时间排序" 肯定是不行的,你得换成按帖子创建时间排序不就行了
af463419014
2020-07-13 16:56:13 +08:00
事实就是翻页的时候会出现重复和遗漏的数据,正常现象,一般都不处理
可以再看参考下豆瓣小组,贴吧等,也是一样的效果
pwli
2020-07-13 17:03:50 +08:00
正是因为数据变动了,所以才表现的和翻页前不一致,感觉没毛病啊
gz911122
2020-07-13 17:05:04 +08:00
jjianwen68
2020-07-13 17:17:52 +08:00
以题目讨论的论坛帖子来说,实际使用时翻到下一页发现有重复,完全可以接受的
blakejia
2020-07-13 17:28:13 +08:00
@af463419014 #4 这个问题在翻页刷新的时候不怎么明显。但是在上滑加载的场景里面有可能会导致连着两条一样的。特别碍眼。🐶
optional
2020-07-13 17:32:36 +08:00
用 id 排序 而不是 limit/offset 后者还有其它问题呢。
lower
2020-07-13 17:34:56 +08:00
这种误差应该是可容忍的,要不就把下一页的数据缓存
qiayue
2020-07-13 17:35:29 +08:00
@blakejia 前端显示时对于重复 ID 做过滤就好了
autoxbc
2020-07-13 18:07:31 +08:00
前端是一页一页翻,后端不应该一页一页吐数据,应该一次出 10 页的,前端做无刷新翻页
lxk11153
2020-07-19 18:23:21 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689640

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX