1 NoOneNoBody 278 天前 还要看细化需求 如果每天新图很多,又没有展示旧图的需求,就很简单 >viewed_max_id ,然后随机或乱序就可以了 但如果新图的量不足够,又或者需要展示旧图,这就难一些了,需要遮罩,就是你原来的思路 |
![]() | 2 leejinhong 278 天前 我觉得尽量做到伪重复即可,再一段时间内不重复或者控制重复的概率降到极低,尽量使用 redis 去去重。如果需求确实是需要做到不重复的话,我觉得最好就是每个用户维持一个类似于信息流的东西,新的就放进来 ,看过的就丢到另外一个信息流,主要处理就是如何将新的信息流塞进去每个用户的池子里面 |
![]() | 3 tool2dx 278 天前 你量那么大,服务器就直接返回随机也挺好的。 如果用户需要看没看过的,那就本地客户端存一个最近 1000 条 ID 列表。正常人哪看到那么多图片。 |
4 skallz 278 天前 这种根本不需要放到后端做吧,前端不能做吗,为啥要浪费性能做这种东西。。。 |
5 vipshf 278 天前 |
![]() | 6 git00ll 278 天前 布隆过滤器, 偶重复一次也无妨吧 |
7 abc1310054026 278 天前 假设有一个无限大不重复的图片数组: 用户 1 从 0 + step * 0 开始按顺序访问 用户 2 从 0 + step * 1 开始按顺序访问 用户 n 从 0 + step * n 开始按顺序访问 这可以保证用户看到的永远是没看过的。 |
![]() | 8 wangtian2020 278 天前 每隔用户给不同的种子,种子可以生成不重复的数字数组,每次输入参数加一就行了 |
![]() | 9 EmbraceQWQ OP |
![]() | 10 EmbraceQWQ OP @vipshf 你是说你打开之后,不小心点了确认加载弹窗,看到了一些图片(狗头)? |
![]() | 11 BanShe 278 天前 谢谢你还好有个 Age Confirmation |
12 vipshf 278 天前 @EmbraceQWQ #10 下次建议把“有些不是很适合点开的内容,上班或者人多不要点开。”这个话加粗放在最前面 ![]() |
![]() | 13 abc0123xyz 278 天前 我爱这个网站! |
![]() | 14 pike0002 278 天前 纯粹来吐槽一下这个标题的 |
![]() | 15 opengps 278 天前 记录图片的 md5 |
![]() | 16 EmbraceQWQ OP @opengps 能详细说说吗?我没有想到这个思路 |
![]() | 17 EmbraceQWQ OP @abc0123xyz 修生养性 |
![]() | 18 edwardzcn98 277 天前 @leejinhong 想请教一下用 redis 去重是什么概念 |
![]() | 19 leejinhong 276 天前 @edwardzcn98 按照楼主所说的就是布隆过滤器 |