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中只會保留一份。
- [[email protected] ~]# redis-cli
- redis 127.0.0.1:6379> sadd stu zhangsan lisi wangwu #新增
- (integer) 3
- redis 127.0.0.1:6379> smembers stu #得到set的所有member
- 1) "wangwu"
- 2) "lisi"
- 3) "zhangsan"
- redis 127.0.0.1:6379> sadd stu zhangsan #增加存在的member
- (integer) 0
- redis 127.0.0.1:6379> smembers stu
- 1) "wangwu"
- 2) "lisi"
- 3) "zhangsan"
- redis 127.0.0.1:6379> sadd tech wangwu liming joe
- (integer) 3
- redis 127.0.0.1:6379> sadd tech jim
- (integer) 1
- redis 127.0.0.1:6379> smembers tech
- 1) "jim"
- 2) "liming"
- 3) "wangwu"
- 4) "joe"
2、查詢
a)smembers
語法:smembers key
解釋:獲取set中的所有member
- redis 127.0.0.1:6379> smembers stu
- 1) "wangwu"
- 2) "lisi"
- 3) "zhangsan"
- redis 127.0.0.1:6379> smembers tech
- 1) "jim"
- 2) "liming"
- 3) "wangwu"
- 4) "joe"
b)sismember
語法:sismember key member
解釋:判斷值是否是set的member。如果值是set的member返回1,否則,返回0
- redis 127.0.0.1:6379> sismember tech jim #jim 是set的member
- (integer) 1
- redis 127.0.0.1:6379> sismember tech jim001 #jim001 不是set的member
- (integer) 0
語法:scard key
解釋:返回set的member個數,如果set不存在,返回0
- redis 127.0.0.1:6379> scard tech # tech 存在
- (integer) 4
- redis 127.0.0.1:6379> scard stud #stud 不存在
- (integer) 0
- redis 127.0.0.1:6379> scard stu
- (integer) 4
語法:srandmember key
解釋:從set中返回一個隨機member
- redis 127.0.0.1:6379> srandmember stu
- "zhangsan"
- redis 127.0.0.1:6379> srandmember stu
- "zhangsan"
- redis 127.0.0.1:6379> srandmember stu
- "wangwu"
- redis 127.0.0.1:6379> srandmember stu
- "zhangsan01"
3、刪除
a)spop
語法:spop key
解釋:移除並返回一個隨機member
- redis 127.0.0.1:6379> smembers stu #pop前
- 1) "zhangsan01"
- 2) "wangwu"
- 3) "lisi"
- 4) "zhangsan"
- redis 127.0.0.1:6379> spop stu #移除一個隨機member
- "lisi"
- redis 127.0.0.1:6379> smembers stu #pop後
- 1) "zhangsan01"<span style="white-space:pre"> </span>
- 2) "wangwu"
- 3) "zhangsan"
語法:srem key member [member ...]
解釋:移除一個或多個member
- redis 127.0.0.1:6379> smembers tech
- 1) "jim"
- 2) "liming"
- 3) "wangwu"
- 4) "joe"
- redis 127.0.0.1:6379> srem tech jim #移除jim
- (integer) 1
- redis 127.0.0.1:6379> smembers tech
- 1) "liming"
- 2) "wangwu"
- 3) "joe"
- redis 127.0.0.1:6379> srem tech liming joe #移除多個member
- (integer) 2
- redis 127.0.0.1:6379> smembers tech
- 1) "wangwu"
語法:smove source destination member
解釋:將source中的member移動到destination
- redis 127.0.0.1:6379> smembers tech #smove前
- 1) "wangwu"
- redis 127.0.0.1:6379> smembers stu
- 1) "zhangsan01"
- 2) "wangwu"
- 3) "zhangsan"
- redis 127.0.0.1:6379> smove stu tech zhangsan #將zhangsan 從stu移動到tech
- (integer) 1
- redis 127.0.0.1:6379> smembers stu #smove後
- 1) "zhangsan01"
- 2) "wangwu"
- redis 127.0.0.1:6379> smembers tech
- 1) "wangwu"
- 2) "zhangsan"
4、其他
a)並集
語法:sunion key[key...]
解釋:多個set的並集
- redis 127.0.0.1:6379> smembers stu
- 1) "zhangsan01"
- 2) "wangwu"
- redis 127.0.0.1:6379> sunion stu
- 1) "zhangsan01"
- 2) "wangwu"
- redis 127.0.0.1:6379> smembers tech
- 1) "wangwu"
- 2) "zhangsan"
- redis 127.0.0.1:6379> sunion stu tech
- 1) "zhangsan01"
- 2) "wangwu"
- 3) "zhangsan"
b)把並集結果儲存到set
語法:sunionstore destination key [key ...]
解釋:求多個set並集,並把結果儲存到destination
- redis 127.0.0.1:6379> sunionstore same stu tech #把stu tech並集結果儲存在union
- (integer) 3
- redis 127.0.0.1:6379> smembers union
- 1) "zhangsan01"
- 2) "wangwu"
- 3) "zhangsan"
c)交集
語法:sinter key[key...]
解釋:多個set的交集
- redis 127.0.0.1:6379> smembers stu
- 1) "zhangsan01"
- 2) "wangwu"
- redis 127.0.0.1:6379> smembers tech
- 1) "wangwu"
- 2) "zhangsan"
- redis 127.0.0.1:6379> sinter stu tech
- 1) "wangwu"
d)把交集結果儲存到指定set
語法:sinterstore destination key [key ...]
解釋:把多個set的交集結果儲存到destination
- redis 127.0.0.1:6379> sinterstore inter stu tech
- (integer) 1
- redis 127.0.0.1:6379> smembers inter
- 1) "wangwu"
e) set中在其他set中不存在member
語法:sdiff key[key ...]
- redis 127.0.0.1:6379>
- redis 127.0.0.1:6379> smembers stu
- 1) "zhangsan01"
- 2) "wangwu"
- redis 127.0.0.1:6379> smembers tech
- 1) "wangwu"
- 2) "zhangsan"
- redis 127.0.0.1:6379> sdiff stu tech
- 1) "zhangsan01"
- redis 127.0.0.1:6379> sdiff tech stu
- 1) "zhangsan"
f)把set中在其他set中不存在的member儲存到新的set
語法:sdiffstore key[key...]
- redis 127.0.0.1:6379> sdiffstore diff stu tech
- (integer) 1
- redis 127.0.0.1:6379> smembers diff
- 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
redis中set的主要操作函式
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