1. 程式人生 > >redis練習手冊set主要操作函式小結

redis練習手冊set主要操作函式小結

redis set 是string型別物件的無序集合,set不管儲存多少物件,對儲存物件的add,remove和test操作的時間複雜度是O(1)。set最多能包含 232 - 1 個member。

1、增加

語法:sadd key member[member...]

        解釋:對特定key的set增加一個或多個值,返回是增加元素的個數。注意:對同一個member多次add,set中只會保留一份。

  1. [[email protected] ~]# redis-cli   
  2. redis 127.0.0.1:6379> sadd stu zhangsan lisi wangwu #新增  
  3. (integer) 3  
  4. redis 127.0.0.1:6379> smembers stu    #得到set的所有member  
  5. 1) "wangwu"  
  6. 2) "lisi"  
  7. 3) "zhangsan"  
  8. redis 127.0.0.1:6379> sadd stu zhangsan #增加存在的member  
  9. (integer) 0  
  10. redis 127.0.0.1:6379> smembers stu  
  11. 1) "wangwu"  
  12. 2) "lisi"  
  13. 3) "zhangsan"  
  14. redis 127.0.0.1:6379> sadd tech wangwu liming joe  
  15. (integer) 3  
  16. redis 127.0.0.1:6379> sadd tech jim  
  17. (integer) 1  
  18. redis 127.0.0.1:6379> smembers tech  
  19. 1) "jim"  
  20. 2) "liming"  
  21. 3) "wangwu"  
  22. 4) "joe"  

  2、查詢

a)smembers

語法:smembers key

解釋:獲取set中的所有member

  1. redis 127.0.0.1:6379> smembers stu  
  2. 1) "wangwu"  
  3. 2) "lisi"  
  4. 3) "zhangsan"  
  5. redis 127.0.0.1:6379> smembers tech  
  6. 1) "jim"  
  7. 2) "liming"  
  8. 3) "wangwu"  
  9. 4) "joe"  

b)sismember

語法:sismember key member

解釋:判斷值是否是set的member。如果值是set的member返回1,否則,返回0

  1. redis 127.0.0.1:6379> sismember tech jim #jim 是set的member  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> sismember tech jim001 #jim001 不是set的member  
  4. (integer) 0  
c)scard

語法:scard key

解釋:返回set的member個數,如果set不存在,返回0

  1. redis 127.0.0.1:6379> scard tech  # tech 存在  
  2. (integer) 4  
  3. redis 127.0.0.1:6379> scard stud #stud 不存在  
  4. (integer) 0  
  5. redis 127.0.0.1:6379> scard stu  
  6. (integer) 4  
d)srandmember

語法:srandmember key

解釋:從set中返回一個隨機member

  1. redis 127.0.0.1:6379> srandmember stu  
  2. "zhangsan"  
  3. redis 127.0.0.1:6379> srandmember stu  
  4. "zhangsan"  
  5. redis 127.0.0.1:6379> srandmember stu  
  6. "wangwu"  
  7. redis 127.0.0.1:6379> srandmember stu  
  8. "zhangsan01"  

3、刪除

a)spop

語法:spop key

解釋:移除並返回一個隨機member

  1. redis 127.0.0.1:6379> smembers stu #pop前  
  2. 1) "zhangsan01"  
  3. 2) "wangwu"  
  4. 3) "lisi"  
  5. 4) "zhangsan"  
  6. redis 127.0.0.1:6379> spop stu  #移除一個隨機member  
  7. "lisi"  
  8. redis 127.0.0.1:6379> smembers stu #pop後  
  9. 1) "zhangsan01"<span style="white-space:pre">   </span>  
  10. 2) "wangwu"  
  11. 3) "zhangsan"  
b)srem

語法:srem key member [member ...]

解釋:移除一個或多個member

  1. redis 127.0.0.1:6379> smembers tech  
  2. 1) "jim"  
  3. 2) "liming"  
  4. 3) "wangwu"  
  5. 4) "joe"  
  6. redis 127.0.0.1:6379> srem tech jim   #移除jim  
  7. (integer) 1  
  8. redis 127.0.0.1:6379> smembers tech     
  9. 1) "liming"  
  10. 2) "wangwu"  
  11. 3) "joe"  
  12. redis 127.0.0.1:6379> srem tech liming joe #移除多個member  
  13. (integer) 2  
  14. redis 127.0.0.1:6379> smembers tech  
  15. 1) "wangwu"  
c)smove

語法:smove source destination member

解釋:將source中的member移動到destination

  1. redis 127.0.0.1:6379> smembers tech   #smove前  
  2. 1) "wangwu"  
  3. redis 127.0.0.1:6379> smembers stu  
  4. 1) "zhangsan01"  
  5. 2) "wangwu"  
  6. 3) "zhangsan"  
  7. redis 127.0.0.1:6379> smove stu tech zhangsan  #將zhangsan 從stu移動到tech  
  8. (integer) 1  
  9. redis 127.0.0.1:6379> smembers stu #smove後  
  10. 1) "zhangsan01"  
  11. 2) "wangwu"  
  12. redis 127.0.0.1:6379> smembers tech  
  13. 1) "wangwu"  
  14. 2) "zhangsan"  

4、其他

a)並集

語法:sunion key[key...]

解釋:多個set的並集

  1. redis 127.0.0.1:6379> smembers stu  
  2. 1) "zhangsan01"  
  3. 2) "wangwu"  
  4. redis 127.0.0.1:6379> sunion stu  
  5. 1) "zhangsan01"  
  6. 2) "wangwu"  
  7. redis 127.0.0.1:6379> smembers tech  
  8. 1) "wangwu"  
  9. 2) "zhangsan"  
  10. redis 127.0.0.1:6379> sunion stu tech  
  11. 1) "zhangsan01"  
  12. 2) "wangwu"  
  13. 3) "zhangsan"  

b)把並集結果儲存到set

語法:sunionstore destination key [key ...]

解釋:求多個set並集,並把結果儲存到destination 

  1. redis 127.0.0.1:6379> sunionstore same stu tech #把stu tech並集結果儲存在union  
  2. (integer) 3  
  3. redis 127.0.0.1:6379> smembers union  
  4. 1) "zhangsan01"  
  5. 2) "wangwu"  
  6. 3) "zhangsan"  

 c)交集

語法:sinter key[key...]

解釋:多個set的交集

  1. redis 127.0.0.1:6379> smembers stu  
  2. 1) "zhangsan01"  
  3. 2) "wangwu"  
  4. redis 127.0.0.1:6379> smembers tech  
  5. 1) "wangwu"  
  6. 2) "zhangsan"  
  7. redis 127.0.0.1:6379> sinter stu tech  
  8. 1) "wangwu"  

d)把交集結果儲存到指定set

語法:sinterstore destination key [key ...]

解釋:把多個set的交集結果儲存到destination 

  1. redis 127.0.0.1:6379> sinterstore inter stu tech  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> smembers inter  
  4. 1) "wangwu"  

      e) set中在其他set中不存在member

語法:sdiff key[key ...]

  1. redis 127.0.0.1:6379>   
  2. redis 127.0.0.1:6379> smembers stu  
  3. 1) "zhangsan01"  
  4. 2) "wangwu"  
  5. redis 127.0.0.1:6379> smembers tech  
  6. 1) "wangwu"  
  7. 2) "zhangsan"  
  8. redis 127.0.0.1:6379> sdiff stu tech  
  9. 1) "zhangsan01"  
  10. redis 127.0.0.1:6379> sdiff tech stu  
  11. 1) "zhangsan"  

f)把set中在其他set中不存在的member儲存到新的set

語法:sdiffstore key[key...]

  1. redis 127.0.0.1:6379> sdiffstore diff stu tech  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> smembers diff  
  4. 1) "zhangsan01"  

相關推薦

redis練習手冊set主要操作函式小結

redis set 是string型別物件的無序集合,set不管儲存多少物件,對儲存物件的add,remove和test操作的時間複雜度是O(1)。set最多能包含 232 - 1 個member。 1、增加 語法:sadd key member[member...

redis練習手冊zset主要操作函式小結

http://blog.csdn.net/love__coder/article/details/8676223 redis支援有序集合,即sorted set。sorted set在set的基礎上,增加了排序屬性,是set的升級版。這裡簡要談談sorted se

Redis系列-儲存篇list主要操作函式小結

在總結list之前,先要弄明白幾個跟list相關的概念: 列表:一個從左到右的佇列,個人理解更類似於一個棧,常規模式下,先進列表的元素,後出。 表頭元素:列表最左端第一個元素。 表尾元素:列表最右端的最後一個元素。不包含任何元素的列表成為空列表。 1)新增 a)lpush

Redis系列-key相關主要操作函式

這篇blog主要總結下,redis中跟key相關的常用函式 1)keys 語法:keys pattern 解釋:查詢所有匹配指定模式pattern的key [[email protected] ~]# redis-cli redis 127.0.0.1:6379

redisset主要操作函式

redis set 是string型別物件的無序集合,set不管儲存多少物件,對儲存物件的add,remove和test操作的時間複雜度是O(1)。set最多能包含 232 - 1 個member。1、增加語法:sadd key member[member...]     

python 檔案和路徑操作函式小結

1.  檔案路徑的相關處理 用 os.path 就完全解決所有問題,包括路徑拼接、路徑拆分、相對路徑提取、檔案存在性判斷、檔案遍歷、遞迴遍歷等等。相關函式有: os.path.join os.path.basename os.path.exists o

redis練習手冊redis的配置檔案redis.conf介紹

如果希望使用redis.conf 啟動redis 需要在啟動redis-server 後加上 redis.conf ,否則會使用預設配置啟動reids  # ./src/redis-server redis.conf redis.conf 配

Redis系列-儲存hash主要操作命令

Redis系列-儲存篇hash主要操作函式小結 hash是一些列key value(field value)的對映表。常常用其儲存一些物件例項。相對於把一個物件的各個欄位儲存為string,儲存為hash會佔用更少的記憶體。為什麼會更省記憶體呢?需要搞清楚兩個配置(hash-max-zipmap-entrie

redis數據類型三之set操作命令

redis數據類i型 set集合類型 1、還是看看redis的官方文檔: 如圖示,redis set 是一種不重復的字符串集合,(它和 list 數據類型的差別就是在不重復上),執行 SADD指令可以添加新的元素到一個 set 集合中。也可以對 set 執行一些其他的操作,如

31. Python redis的字符串操作 list操作 set操作

python redis1. redis 字符串操作string操作reids目前提供5種數據類型:string類型, list類型, set集合類型, 有序集合類型, hash類型,下面就來詳細介紹他們的使用。redis中的string在內存中都是按照一個key對應一個value來存儲的。如:r.set(“

PHP 操作 Redis手冊

ins true 刪除元素 hello set集合 安全 name 二進制 關聯數組 轉:https://www.cnblogs.com/jackluo/p/5708024.html String 類型操作 string是redis最基本的類型,而且string類型是二進制

redis的sort set 類型操作

set集合 長度 info 類型 排名 set pan mage end 可以理解為是一個帶排序的hash集合,順序會根據score的值的大小去從小往大排序,如果score的值相同,就會根據member去排序 //往sort set插入一條,zadd zset1 10.

set的使用03(較多的操作函式

1367: Data Structure Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Description 給出一個集合,初始為空,進行N次操作,操作分為三種: 1 往集合中新增一個元素,如果

Android NDK——必知必會之JNI的C++操作函式詳解和小結(三)

引言 上一篇講解了一些關於JNI和NDK的必知必會的理論知識和機制,由於篇幅問題把關於JNI的重要的函式放到這篇,具體使用留到下一篇,此係列文章基連結: 一、JNI中的函式概述 在JNI層我們基本上都是通過env指標來呼叫jni.h標頭檔案裡定義的函式,JNI

redis 學習手冊之事務 transaction 操作

事務操作 概述 Redis事務讓一組命令在單個步驟中執行。 事務中有兩個屬性,這說明如下: 在一個事務中所有命令按順序執行,作為一個單一獨立的操作。 Redis事務也是原子的。原子就意味著要麼所有命令都執行,要麼都不進行處理。 但是Redis的Transactions

redis ------set 常見操作命令 及其 使用場景

使用場景: 集合,和數學中的集合概念相似。操作中的key理解為集合的名字。 在Redis中,set就是Redis String的無序集合,不允許有重複元素。 Set的最大元素數是2^32-1。 Redis中對set的操作還有交集、並集、差集等  Set對外提供的功能與list類似,

matlab set函式 控制代碼操作函式

    MATLAB給每種物件的每一個屬性規定了一個名字,稱為屬性名,而屬性名的取值成為屬性值。例如,LineStyle是曲線物件的一個屬性名,它的值決定著線型,取值可以是'-' 、':'、'-.'、'--'或'none'。 2.屬性的操作     set函式的呼叫格式為:     set(控制代碼,

golang-redis之sorted set型別簡單操作

1:安裝redigo go get github.com/garyburd/redigo/redis 2:引用redigo import ( "github.com/garyburd/redigo/redis" ) 3:連線Redis

Redis集合(set)的命令操作

redis 對set集合的命令操作 redis的set集合是String型別的無序集合,集合元素是唯一的, sadd key value1 value2 作用:對key新增一個value或多個value 返回值:被新增到集合中的新元素的數量,

redis--(六)java操作redis

技術分享 http ges 分享 .cn -1 -- edi image Java操作redis集群 redis--(六)java操作redis