码迷,mamicode.com
首页 > 其他好文 > 详细

Redis命令学习-Set(集合)

时间:2015-06-18 22:15:10      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

1. SADD

    SADD key member[member ...]:将一个或者多个member计入集合key中去,已经存在集合中的member将会被忽略。计入key不存在,则会创建一个包含member元素的集合。当key不是集合时,返回一个错误。

    ?返回值:被添加到集合中的元素的个数。

  1. 127.0.0.1:6379> SADD bbs "csdn.com"
  2. (integer) 1
  3. 127.0.0.1:6379> SADD bbs "redis.com" "googe.com"
  4. (integer) 2
  5. 127.0.0.1:6379> SADD bbs "redis.com" "mongodb.com"
  6. (integer) 1

2. SCARD 

    ?SCARD key:返回集合中元素的数量。

    ?返回值:集合中元素的数量,当key不存在时,返回0。

  1. 127.0.0.1:6379> SADD tools pc printer phone
  2. (integer) 3
  3. 127.0.0.1:6379> SCARD tools
  4. (integer) 3
  5. 127.0.0.1:6379>

3. SDIFF

    ?SDIFF key[key ...]:返回一个集合的全部成员,该集合是所有给定集合的差集。

    ?不存在的key被视为空集。

    ?返回值:一个包含差集的成员列表。

  1. 127.0.0.1:6379> SADD a 2 3 4 5
  2. (integer) 4
  3. 127.0.0.1:6379> SADD b 4 5 6 7 8
  4. (integer) 5
  5. 127.0.0.1:6379> SDIFF a b
  6. 1) "2"
  7. 2) "3"
  8. 127.0.0.1:6379> SDIFF a
  9. 1) "2"
  10. 2) "3"
  11. 3) "4"
  12. 4) "5"
4. SDIFFSTORE 

    ?SDIFFSTORE destination key[key ...] :这个命令与SDIFF命令相似,但是它会把结果保存至destination中。

    ?返回值:结果集合中元素的个数。

  1. 127.0.0.1:6379> SDIFFSTORE c a b
  2. (integer) 2
  3. 127.0.0.1:6379> SMEMBERS c
  4. 1) "2"
  5. 2) "3"

5. SINTER

   SINTER key[key ... ]:返回一个集合的全部成员,该集合是所有指定集合的交集。

    ?返回值:交集列表。

  1. 127.0.0.1:6379> SADD a 1 2 3 4
  2. (integer) 4
  3. 127.0.0.1:6379> SADD b 2 4 6 8 10
  4. (integer) 5
  5. 127.0.0.1:6379> SINTER a b
  6. 1) "2"
  7. 2) "4"
  8. 127.0.0.1:6379> SINTER a
  9. 1) "1"
  10. 2) "2"
  11. 3) "3"
  12. 4) "4"
  13. 127.0.0.1:6379> SINTER a c
  14. (empty list or set)

6. SINTERSTORE

    ?SINTERSTORE destination key[key ...] :与SINTER命令相同,只不过将结果存入destination集合中。

    ?返回值:结果集中的成员数量。

  1. 127.0.0.1:6379> SINTERSTORE d a b
  2. (integer) 2
  3. 127.0.0.1:6379> SMEMBERS d
  4. 1) "2"
  5. 2) "4"

7. SISMEMBER

    ?SISMEMBER key member:判断member是否是集合key的成员。

    ?返回值:是返回1,否则返回0。

  1. 127.0.0.1:6379> SISMEMBER d 2
  2. (integer) 1

8. SMEMBERS

    ?SMEMBERS key:返回集合key中所有的成员。

    ?返回值:集合中的所有元素。

    ?

  1. 127.0.0.1:6379> SMEMBERS d
  2. 1) "2"
  3. 2) "4"
  4. 127.0.0.1:6379> SMEMBERS empty
  5. (empty list or set)

9. SMOVE

    ?SMOVE source des member:将member元素从集合source移至des。如果source元素不包含member则什么都不做。如果,des中已存在元素member,则只是将member从source中移除。

    ?该操作是原子性的。

    ?返回值:成功移除返回1,否则返回0。

  1. 127.0.0.1:6379> SADD songs "a" "b"
  2. (integer) 2
  3. 127.0.0.1:6379> SMOVE songs my_songs "a"
  4. (integer) 1
  5. 127.0.0.1:6379> SMEMBERS songs
  6. 1) "b"
  7. 127.0.0.1:6379> SMEMBERS my_songs
  8. 1) "a"

10. SPOP

    ?SPOP key:移除并返回集合中的一个随机元素。如果只想获取一个随机元素,但是不想移除 的话可以使用SRANDMEMBER。

    ?返回值:被移除的随机元素。当key不存在或者是空集合时,返回nil。

  1. 127.0.0.1:6379> SADD db mysql mongodb redis
  2. (integer) 3
  3. 127.0.0.1:6379> spop db
  4. "mongodb"
  5. 127.0.0.1:6379> SMEMBERS db
  6. 1) "redis"
  7. 2) "mysql"

11. SRANDMEMBER

    ?SRANDMEMBER key[count]:如果只有key参数则返回集合中的随机元素。

    ?指定count参数,且count > 0,count小于集合长度,则返回一个包含不重复随机元素的子集合,大于集合长度,则返回整体集合。如果count < 0,返回一个数组,数组内的集合可能重复。

  1. 127.0.0.1:6379> SADD fruit apple banana cherry
  2. (integer) 3
  3. 127.0.0.1:6379> SRANDMEMBER fruit
  4. "cherry"
  5. 127.0.0.1:6379> SRANDMEMBER fruit 3
  6. 1) "apple"
  7. 2) "cherry"
  8. 3) "banana"
  9. 127.0.0.1:6379> SRANDMEMBER fruit -4
  10. 1) "banana"
  11. 2) "cherry"
  12. 3) "banana"
  13. 4) "apple"

 12. SREM


    ?SREM key member[member .. ]:移除集合中的一个或者多个元素,不存在的元素会被自动忽略。

    ?返回值:被成功移除的元素的个数。

  1. 127.0.0.1:6379> SADD languages c lisp java python ruby
  2. (integer) 5
  3. 127.0.0.1:6379> SREM languages ruby
  4. (integer) 1
  5. 127.0.0.1:6379> SREM languages none
  6. (integer) 0
  7. 127.0.0.1:6379> SREM languages lisp java
  8. (integer) 2

13. SUNION

    ?SUNION key [key ...]:返回一个集合的全部成员,该集合是所有给定集合的并集。

    ?返回值:并集列表。

  1. 127.0.0.1:6379> SADD songs jan
  2. (integer) 1
  3. 127.0.0.1:6379> SADD mysong tt
  4. (integer) 1
  5. 127.0.0.1:6379> SUNION songs mysong
  6. 1) "jan"
  7. 2) "tt"
  8. 3) "b"
14. SUNIONSTORE

    ?SUNIONSTORE destination key[key .. ]:与SUNION命令 相同,不同是此命令回存储并集到destination集合中。

    ?返回值:集合中元素数量。

  1. 127.0.0.1:6379> SUNIONSTORE all songs mysong
  2. (integer) 3

15. SSCAN

    ?与SCAN命令相同。

?

Redis命令学习-Set(集合)

标签:

原文地址:http://blog.csdn.net/mergades/article/details/46552229

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!