获取用户粉丝列表。
由于数据多,所以会分段返回。
一般都是在 mysql 中 offset (页数 * 每页数)
但是考虑到,两个请求中间,如果有个新粉丝进来,这个时候就会将上个请求末尾的那个用户在这次请求中重复返回去。
如果 cursor 返回中,用关注时间来当隔断的话,当时间有重复,分页还是会不精确
大家有没有完美的解决方案。
1
9hills 2015-09-16 10:14:58 +08:00 via iPhone
好多系统貌似不 care 这个重复,比如 v2ex
|
2
oott123 2015-09-16 10:21:43 +08:00 via Android
有的可以用 since_id 做,好处多多
|
3
hjxx 2015-09-16 10:58:07 +08:00
时间+用户 id 呢
|
4
qq12365411 2015-09-16 11:02:34 +08:00
加上个 [关注时间] 可以防止你说的 突然 有个新粉丝来的问题
offset (页数 * 每页数) where 关注时间< 初次查询的时间 |
5
ToysMall 2015-09-16 11:05:17 +08:00
since_id max_id
|
6
codeyung 2015-09-16 11:48:38 +08:00
time 标记
|
7
loading 2015-09-16 12:10:15 +08:00 via Android
这个比较麻烦的,例如正在看第一页,每页 10 条,点第二页是新加了 10 条,这页码突然就变成第三页…
从用户角度开看…第二页跑哪去了~ |
8
wingoo 2015-09-16 12:27:01 +08:00
这种事要看重要程度, 你在意吗?
|
9
jucelin 2015-09-16 12:36:26 +08:00
可以直接参考 weibo 的 API 设计: http://open.weibo.com/wiki/2/statuses/friends_timeline
还是要看数据更新的速度来判断是否需要这样做。 |
11
icegreen 2015-09-16 13:34:35 +08:00
考虑用时间戳+loadmore 模式呢
|
12
alsotang 2015-09-16 13:44:00 +08:00
这点重复,无所谓啦
|
13
abelyao 2015-09-16 13:47:03 +08:00 via iPhone
以上一页最后一个粉丝 ID 做参数,而不是以页面 ID 做参数
|
14
daydaysay OP 如果算作重复,那肯定只能当作 bug 来对待拉。我已经知道怎么解决这个问题了。谢谢各位。
|
15
liuhui244671426 2016-07-13 12:01:07 +08:00
这个问题都是算成可优化的项,不算 bug 了吧.
|