Redis資料庫(set型別和zset型別)

2021-06-27 07:57:49 字數 2431 閱讀 1986

一.set型別

set是乙個集合,它是string型別的無序集合,set是通過hash table實現的,新增,刪除,查詢的時間複雜

度都是o(1),對於集合我們可以取並集,交集,差集。通過這些操作我們可以實現sns中好友推薦和blog的tag

功能。

set常見操作:

(1)sadd

向乙個集合中新增乙個元素。例如:sadd set1 hello

(2)smembers

檢視集合中的所有元素。例如:smembers set1

(3)srem

刪除集合中乙個指定的元素。例如:srem set1 hello

(4)spop

隨機彈出set集合中德乙個元素。例如:spop set1

(5)sdiff

求兩個集合的差集,比如sdiff set1 set2,表示保留set1中與set2不同的所有元素。

(6)sdiffstore

將返回的差集存進乙個集合。例如:sdiffstore set3 set1 set2,表示把set1與set2的差集存進

集合set3。

(7)sinter

返回給定兩個集合的交集。例如:sinter set1 set2,表示返回set1和set2的交集。

(8)sinterstore

將兩個集合的交集存進乙個集合。例如:sinterstore set3 set1 set2,表示把set1和set2的交集

存進集合set3。

(9)sunion

返回給定兩個集合的並集。例如:sunion set1 set2,表示返回set1和set2的並集。

(10)sunionstore

將兩個集合的並集存進乙個集合。例如:sunionstore set3 set1 set2,表示把set1和set2的並集

存進集合set3

(11)smove

從第乙個key對應的set中移除member並新增到第二個對應的集合中。

例如:smove set1 set2 hello,表示把set1中的hello元素移動到set2中。

(12)scard

返回key對應集合的元素的個數。例如:scard set1。

(13)sismember

判斷某乙個元素是否為集合的元素。比如:sismember set1 hello,表示判斷hello是否為set1的中

的元素。

(14)srandmember

隨機返回名稱為key的set的乙個元素。例如:srandmember set1。

二.zset型別

zset是在set的基礎上增加了順序,形成乙個有序的集合。

zset的常見操作:

(1)zadd

向有序集合zset中增加乙個元素。例如:zadd zset 1 hello

(2)zrange

輸出zset中指定範圍內的的所有元素,按照score從小到大的順序。

例如:zrange zset 0 -1 withscores,表示輸出有序集

合zset中所有的元素,並且輸出順序號。

(3)zrem

刪除名稱為key的zset集合中的元素member。例如:zrem set1 hello。

(4)zincrby

把有序集合zset中的指定元素的序列號加上指定的值。例如:zincrby zset 4 hello

(5)zrank

返回名稱為key的zset集合中元素的排名,按照下標從小到大的排名。例如:zrank zset hello。

(6)zrevrank

返回名稱為key的zset集合中元素的排名,按照下表從大到小的排名。例如:zrevrank zset hello。

(7)zrevrange

按照score從大到小的順序輸出集合中所有元素。例如:zrevrange zset 0 -1 withscores。

(8)zrangebyscore

返回集合中給定區間的元素。例如:zrangebyscore zset 2 3 withscores

(9)zcount

返回集合中score在給定區間的數量。zcount zset 2 3

(10)zcard

返回集合中元素的個數。

(11)zremrangebyrank

按照索引來刪除給定區間的元素。例如:zremrangebyrank zset 1 2

(12)zremrangebyscore

刪除score在指定範圍內的元素。例如:zremrangebyscore zset 1 2

redis資料庫set(集合)型別常用命令

1 向集合新增乙個或多個成員sadd keymember1 member2 2 獲取集合的成員數scard key3 返回給定所有集合的差集sdiff key1 key2 4 返回給定所有集合的差集並儲存在 destination 中sdiffstore destination key1 key2 ...

Redis資料型別 Set

redis的set是string的無序集合。set元素最大可以包含2的32次方個元素 關於set集合型別除了基本的新增刪除操作。其他有用的操作還包含集合的取並集,交集,差集。通過這些操作可以很容易的實現sns中的好友推薦和blog的tag功能。sadd 新增元素 127.0.0.1 6379 sad...

Redis資料型別 SET

set 顧名思義為集合的意思 高中學過集合的知識我們知道,集合元素的個數是有限無序的,並且集合中元素不允許重複。和c 中的set容器是相同的。而這種特性可以使用set資料型別跟蹤一些唯一性資料,比如某一 的ip位址。在這種資料結構中,我們可以完成的操作有新增 刪除 測試元素是否存在等。由於集合本身的...