Redis 集合(Set)

Redis 集合(Set)

Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

 

redis的setstring类型的无序集合。

 

set集合最大可以包含(232次方-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的所有元素,结果是无序的

 

总结:

  1. 安装redis,直接make,再复制相关文件到运行目录
  2. 使用

实例

 

 

 

posted @ 2018-03-01 08:43  孙中明  阅读(202)  评论(0编辑  收藏  举报