Redis集合解決大數據篩選


Redis集合:集合是什么,就是一堆確定的數據放在一起,數學上集合有交集、並集的概念,這個就可以用來做大數據的篩選功能。

以商品為例,假如商品有顏色和分類、價格區間等屬性。

給所有統一顏色的商品放一個集合,分類、價格也同樣。

那么想要一個紅色的沙發,就應該是紅色的商品和沙發的分類的交集,而想要既是紅色又是綠色的沙發,就應該是紅色與綠色的合集再與沙發取交集。

代碼上,以php為例

php操作redis

  連接

$redis = new Redis(); $redis->connect('127.0.0.1', 6379);
存儲集合
$redis->zAdd('紅色',$k,$goods);
$redis->zAdd('紅色',$k,$goods);
$redis->zAdd('綠色',$k,$goods);
$redis->zAdd('沙發',$k,$goods);
取交集
$redis->zInter('紅色沙發', array('紅色', '沙發'));

使用zadd存的是有序集合,方便數據取出后排序等操作。








免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM