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

Redis 集合(Set)

2018-03-01 08:43 127 查看
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 
实例
 
 



 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: