> 백엔드 개발 > PHP 튜토리얼 > 如何实现根据每个人随机推荐,并且不会重复出现已经推荐过的

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-06 20:12:30
원래의
1900명이 탐색했습니다.

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

回复内容:

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

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

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

当然redis首选

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

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

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿