Redis 集合(Set)
Redis 集合(Set)
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
redis的set是string类型的无序集合。
set集合最大可以包含(2的32次方-1 int整型的数字限制)个元素。
关于set集合类型除了基本的添加、删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection),差集(difference)。通过这些操作可以很容易的实现sns中的好友推荐功能。
注意:每个集合中的各个元素不能重复。
该类型应用场合:qq好友推荐。
tom朋友圈(与某某是好友):mary jack xiaoming wang5 wang6
linken朋友圈(与某某是好友):yuehan daxiong luce wang5 wang6
list链表内部有多个元素,彼此有顺序。
set集合内部有多个元素,彼此没有顺序
tom对linken取差集:结果只有tom的,没有linken的
linken对tom取差集:结果只有linken的,没有tom的
sadd key member
添加 string元素到key对应的set集合中,成功近回1
如果元素已经在集合中返回0,key对应的set不存在返回错误
srem key nenber [ nember
从key对应set中移除绐定元素,成功返回
shove p 1 p 2 member
从p1对应set中移除 nenber并添加到p2对应set中
scard key
返回set的元素个
sismember key member
判断 nember是否在set中
sinter key 1 key 2 . - - key
返回所有给定key的交集
sunion key 1 key 2 . - key
返回所有给定key的并集
diff key1key2……keyN
返回所有给定key的差集
smembers key
返回key对应set的所有元素,结果是无序的
总结:
- 安装redis,直接make,再复制相关文件到运行目录
- 使用
- key操作 exists keys rename dbsize flushdb flushall select
- String操作 set get mset mget incr decr incrby decrby append substr
- list链表操作 lpush rpop lrange llen ltrim
- set集合操作 sadd smembers scard sinter sdiff sunion
实例
文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。
原文链接:hiszm.blog.csdn.net/article/details/79407678
- 点赞
- 收藏
- 关注作者
评论(0)