如何?根據每個人隨機推薦,並且不會重複出現已經推薦過的

來源:互聯網
上載者:User
關鍵字 php mysql redis
系統推薦演算法:
根據每個人的規則,需要進行隨機推薦,並且每次推薦的都不一樣,如何??
redis, mysql ?

回複內容:

系統推薦演算法:
根據每個人的規則,需要進行隨機推薦,並且每次推薦的都不一樣,如何??
redis, mysql ?

推薦使用Redis實現,用hash類型的key-value標記已推薦的商品,下次推薦結果在Redis進行比較,未推薦的通過並標記。

Hash效能要遠高於SQL檢索,故選擇Redis,請求時間可以降到ms個位元,部署到專用的Redis伺服器,可以不佔用mysql負載,目前的最佳選擇。

當然redis首選

不清楚你的具體使用情境,建議一種使用方式
可以使用redis的集合,隨機從集合裡取你的推薦就好
然後把取到資料從集合裡刪除掉,以保不會重複推薦

如果不是巨量資料,可以設計一個結構來達到你需要的功能:
一個推薦人和已推薦關係的表,
需要有的東西:推薦人,推薦id

隨機推薦不是問題,自己弄個演算法(尋找order by rand()的替換演算法)查出來滿足條數的推薦就好-無非是排除前次推薦的東西(已經有表記錄了)。

所以只需要記錄上次找個人推薦的id就可以了。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.