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存的是有序集合,方便數據取出后排序等操作。