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







posted @ 2019-04-17 18:29  咫尺灵犀  阅读(2886)  评论(0编辑  收藏  举报