php实现推荐视频不重复,如何实现根据每个人随机推荐,并且不会重复出现已经推荐过的...

系统推荐算法:

根据每个人的规则,需要进行随机推荐,并且每次推荐的都不一样,如何实现?

redis, mysql ?

回复内容:

系统推荐算法:

根据每个人的规则,需要进行随机推荐,并且每次推荐的都不一样,如何实现?

redis, mysql ?

推荐使用Redis实现,用hash类型的key-value标记已推荐的商品,下次推荐结果在Redis进行比较,未推荐的通过并标记。

Hash性能要远高于SQL检索,故选择Redis,请求时间可以降到ms个位数,部署到专用的Redis服务器,可以不占用mysql负载,目前的最佳选择。

当然redis首选

不清楚你的具体使用场景,建议一种使用方式

可以使用redis的集合,随机从集合里取你的推荐就好

然后把取到数据从集合里删除掉,以保不会重复推荐

如果不是巨量数据,可以设计一个结构来达到你需要的功能:

一个推荐人和已推荐关系的表,

需要有的东西:推荐人,推荐id

随机推荐不是问题,自己弄个算法(查找order by rand()的替换算法)查出来满足条数的推荐就好-无非是排除前次推荐的东西(已经有表记录了)。

所以只需要记录上次找个人推荐的id就可以了。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值