1
learningman 2022-07-23 14:04:41 +08:00 via Android 3
很明显 b 站的程序员就不知道怎么搞,所以 b 站的点赞只会显示最近的 1000 个,你给一条评论点个赞,去别的地方点 1000 个赞回来,还能再点一个
|
2
starrys 2022-07-23 14:22:52 +08:00
先查询用户自己点过赞的全部微博,然后显示微博的时候,看看微博 ID 在不在先前查询的列表中。
这。。。这。。。很难吗? |
3
Building 2022-07-23 14:29:17 +08:00
这个在 query data results process 时候就处理好了啊,数据模型有 isFavorite 的 Bool 值,肯定不是滚到的时候才查询
|
4
Jooooooooo 2022-07-23 14:32:13 +08:00 1
点赞应该有上限的, 比如油管的好像是 5000.
|
5
snw 2022-07-23 14:53:40 +08:00 via Android 1
我的想法是,用户的点赞列表中,把时间较近的(比如一个月,或者上千条)缓存起来,这样对于近期的微博,只需要从缓存中查一个小表就行了。如果旧微博 id 不在缓存范围里,那么再从用户点赞列表里读取一段进缓存。
微博的好处是明显按时间有冷热,所以容易缓存。B 站那种要难一些,冷热并不一定按时间。 另外,一般查表的时间复杂度是 O(1)啊,为什么需要遍历? |
6
fetich 2022-07-23 20:32:29 +08:00 1
@learningman 哈哈哈,b 站程序员可能基于某个原因做了取舍。毕竟如果要用一个帐号对一个稿件多次点赞,多点一次就要点赞其余 1k 稿件。又因为「对所有稿件都点一次赞,就等于没有点赞」,从而阻止了刷赞的可能。这是胡编「没有发钱」理论的伟大实践和胜利!
|
7
learningman 2022-07-23 20:59:30 +08:00 via Android
@fetich 我知道你想表达什么,但是你糟糕的表达能力,让你显得很尴尬
|