您的位置:首页 > 数据库 > Redis

【Redis学习】:set数据类型详解

2017-05-29 22:58 399 查看
set数据结构



常用命令

添加/删除元素

sadd key values[value1 value2 ...]

向set中添加数据,如果该key的值已有不会重复添加。



srem key members[member1 member2 ...]

删除set中指定的成员



获得集合中的元素

smembers key

获取set中的所有成员



sismember key member

判断参数中指定的成员是否在该set中,1表示存在,0表示不存在或者该key本身就不存在,无论集合中有多少元素都可以极速的返回结果。



集合的差集运算A-B

sdiff key1 key2 ...

返回key1和key2中相差的成员,而且与key的顺序有关,也即是说返回差集。



结果:



集合的交集运算A∩B

sinter key1 key2 ...

返回交集



结果:



集合的并集运算A∪B

sunion key1 key2 ,,,

返回并集



结果:



scard key

获取set中成员的数量



srandmember key

随机返回set中的一个成员



sdiffstore destination key1 key2 ...

将key1.key2等set集合相差的成员存储在destination中



sinterstore destination key1 key2 ...

将key1.key2等set集合返回的交集存储在destination中



sunionstore destination key1 key2 ...

将key1.key2等set集合返回的并集存储在destination中



使用场景

1、可以使用redis的set数据类型跟踪一些唯一性的数据,比如访问某一博客的唯一IP地址信息,对于此场景,我们仅需在每次访问该博客时将访问者的IP存入redis中,set数据类型会自动保证IP地址的唯一性;

2、充分利用set数据类型的服务端聚合操作方便,高效的特性,可以用于维护数据对象之前的关联关系。比如所有购买某一电子设备的客户ID被存储在一个指定的set中,而购买另一种电子产品的客户ID被存储在另一个set中,如果此我们想获取有哪些客户同时购买了这两种商品,set的intersections命令就可以充分发挥它的方便和高效的优势。

intersections命令就可以充分发挥它的方便和高效的优势。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: