Home > Backend Development > PHP Tutorial > 如何实现根据每个人随机推荐,并且不会重复出现已经推荐过的

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 20:12:30
Original
1900 people have browsed it

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

回复内容:

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

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

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

当然redis首选

不清楚你的具体使用场景,建议一种使用方式
可以使用redis的集合,随机从集合里取你的推荐就好
然后把取到数据从集合里删除掉,以保不会重复推荐

如果不是巨量数据,可以设计一个结构来达到你需要的功能:
一个推荐人和已推荐关系的表,
需要有的东西:推荐人,推荐id

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

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template