sym134
V2EX  ›  PHP

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

  •  
  •   sym134 · Oct 20, 2020 · 4844 views
    This topic created in 2210 days ago, the information mentioned may be changed or developed.

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

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

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

    干脆像 2 楼说的,一次查完,随机输出。如果查询比较耗时,就二次查询的时候加上前面出现过的 ID 作排除查询,一百几十个 ID 也不会让 SQL 变多长。
    freeeyu
    freeeyu
    Oct 20, 2020
    7
    简单的做法,随机取页数展示,翻页按顺序翻,到最后一页之后从第一页开始取,取到你随机的那一页就到底了..
    chogath
    chogath
    Oct 20, 2020
    8
    漏斗
    ladotech
    ladotech
    Oct 20, 2020
    9
    想象一下一副洗好的扑克牌,切一下,然后从最上面一张开始依次展示出来。服务器定时做洗牌,用户浏览时做切牌。
    sym134
    sym134
    OP
    Oct 21, 2020
    10
    @chogath 一脸懵逼,求大师指点
    sym134
    sym134
    OP
    Oct 21, 2020
    11
    @freeeyu 这个的确比较简单😄6666
    sym134
    sym134
    OP
    Oct 21, 2020
    12
    @ox180 google 了一下,一脸懵逼,我这肉鸡应该吃不消,如有方便的工具方法可以推荐一下 😄
    sym134
    sym134
    OP
    Oct 21, 2020
    13
    @ben1024 不错不错,我感觉可以专门缓存一个公共的总页数,然后用户随机提取页数,同时求差集
    sym134
    sym134
    OP
    Oct 21, 2020
    14
    @xunbug 研究过,但 php 恐怕吃不消,其他语言没学过,压力山大😓
    sym134
    sym134
    OP
    Oct 21, 2020
    15
    @wangritian 弄个这么个,但缓存的量感觉太多了😓
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1658 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 13:06 · PVG 21:06 · LAX 05:06 · JFK 08:06
    ♥ Do have faith in what you're doing.