需求是首页有个用户推荐板块,可以一直分页加载,直到数据全部加载完
这个推荐没有什么特定的匹配或是人为指定,只是想每次打开都不一样,或是随机去展示,但用随机分页又会有重复的数据出现,不知道过往老司机有何办法或是更好的推荐方式
1
wangritian 2020-10-20 09:34:55 +08:00
先定一个推荐用户数量限制 N,因为不太可能有人耐心的刷完这么多推荐用户,每 M 分钟从 mysql 随机提取 N 个到 redis,在 php 代码中做分页
|
2
ben1024 2020-10-20 09:42:37 +08:00
数据整片输出,随机返回页数,加个用户计数器记录请求输出页数(用户登出清空计数)
返回时两页数求差集,重排输出随机页数 |
3
huayumo 2020-10-20 13:28:30 +08:00
可以根据发帖量来排序,并分页就完了,感觉没必要搞那么复杂
|
4
hahaba 2020-10-20 13:30:52 +08:00
基于用户或者物品的协同过滤
|
5
ox180 2020-10-20 13:43:56 +08:00
既然如此,可以上个 word2vec 做内容推荐哇
|
6
eason1874 2020-10-20 13:53:28 +08:00
再推荐也不可能推荐上千个吧?一般最多就一百多几十个,一两百多个。
干脆像 2 楼说的,一次查完,随机输出。如果查询比较耗时,就二次查询的时候加上前面出现过的 ID 作排除查询,一百几十个 ID 也不会让 SQL 变多长。 |
7
freeeyu 2020-10-20 14:07:42 +08:00
简单的做法,随机取页数展示,翻页按顺序翻,到最后一页之后从第一页开始取,取到你随机的那一页就到底了..
|
8
chogath 2020-10-20 15:07:01 +08:00
漏斗
|
9
ladotech 2020-10-20 15:46:50 +08:00
想象一下一副洗好的扑克牌,切一下,然后从最上面一张开始依次展示出来。服务器定时做洗牌,用户浏览时做切牌。
|
15
sym134 OP @wangritian 弄个这么个,但缓存的量感觉太多了😓
|