需要做个首页用户推荐,不知道有老司机可以分享一下经验吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sym134
V2EX    PHP

需要做个首页用户推荐,不知道有老司机可以分享一下经验吗?

  •  
  •   sym134 2020-10-20 09:19:43 +08:00 3835 次点击
    这是一个创建于 1819 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是首页有个用户推荐板块,可以一直分页加载,直到数据全部加载完

    这个推荐没有什么特定的匹配或是人为指定,只是想每次打开都不一样,或是随机去展示,但用随机分页又会有重复的数据出现,不知道过往老司机有何办法或是更好的推荐方式

    15 条回复    2020-10-21 15:50:56 +08:00
    wangritian
        1
    wangritian  
       2020-10-20 09:34:55 +08:00
    先定一个推荐用户数量限制 N,因为不太可能有人耐心的刷完这么多推荐用户,每 M 分钟从 mysql 随机提取 N 个到 redis,在 php 代码中做分页
    ben1024
        2
    ben1024  
       2020-10-20 09:42:37 +08:00
    数据整片输出,随机返回页数,加个用户计数器记录请求输出页数(用户登出清空计数)
    返回时两页数求差集,重排输出随机页数
    huayumo
        3
    huayumo  
       2020-10-20 13:28:30 +08:00
    可以根据发帖量来排序,并分页就完了,感觉没必要搞那么复杂
    hahaba
        4
    hahaba  
       2020-10-20 13:30:52 +08:00
    基于用户或者物品的协同过滤
    ox180
        5
    ox180  
       2020-10-20 13:43:56 +08:00
    既然如此,可以上个 word2vec 做内容推荐哇
    eason1874
        6
    eason1874  
       2020-10-20 13:53:28 +08:00
    再推荐也不可能推荐上千个吧?一般最多就一百多几十个,一两百多个。

    干脆像 2 楼说的,一次查完,随机输出。如果查询比较耗时,就二次查询的时候加上前面出现过的 ID 作排除查询,一百几十个 ID 也不会让 SQL 变多长。
    freeeyu
        7
    freeeyu  
       2020-10-20 14:07:42 +08:00
    简单的做法,随机取页数展示,翻页按顺序翻,到最后一页之后从第一页开始取,取到你随机的那一页就到底了..
    chogath
        8
    chogath  
       2020-10-20 15:07:01 +08:00
    漏斗
    ladotech
        9
    ladotech  
       2020-10-20 15:46:50 +08:00
    想象一下一副洗好的扑克牌,切一下,然后从最上面一张开始依次展示出来。服务器定时做洗牌,用户浏览时做切牌。
    sym134
        10
    sym134  
    OP
       2020-10-21 15:41:48 +08:00
    @chogath 一脸懵逼,求大师指点
    sym134
        11
    sym134  
    OP
       2020-10-21 15:46:16 +08:00
    @freeeyu 这个的确比较简单6666
    sym134
        12
    sym134  
    OP
       2020-10-21 15:47:52 +08:00
    @ox180 google 了一下,一脸懵逼,我这肉鸡应该吃不消,如有方便的工具方法可以推荐一下
    sym134
        13
    sym134  
    OP
       2020-10-21 15:49:01 +08:00
    @ben1024 不错不错,我感觉可以专门缓存一个公共的总页数,然后用户随机提取页数,同时求差集
    sym134
        14
    sym134  
    OP
       2020-10-21 15:49:39 +08:00
    @xunbug 研究过,但 php 恐怕吃不消,其他语言没学过,压力山大
    sym134
        15
    sym134  
    OP
       2020-10-21 15:50:56 +08:00
    @wangritian 弄个这么个,但缓存的量感觉太多了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3019 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 13:52 PVG 21:52 LAX 06:52 JFK 09:52
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86