设计该系统的功能:10亿位用户每次加载页面,显示3张不同图片(每次加载都是相同的3张),3张图片来自于10张图片的图库?
1、用户个数10亿,保证10亿用户在10张图片中加载的图片几率是相同的。
2、第一次随机显示3张图片,以后都是这3张。
3、不可以使用本地缓存或redis缓存。
一种思路:
1、每次加载页面时,对每位用户的用户id做hash运算得出一个int值(遇到hash碰撞,可以做三次hash)
2、对该int值对10取余,使其落到[0,9]之间。
3、指定一个规则(人为指定一个规则)取余获得的int值,设为id=val就代表一张图片编号,然后往后顺延2次,id=(val+1)%10,id=(val+2)%10,然后就显示这三张图片。
ps:菜逼没答好。。。