Common operations of set of redis data types

Redis's Set is an unordered collection of string type. Collection members are unique, which means that duplicate data cannot appear in the collection.
Collections in Redis are implemented through hash tables, so the complexity of adding, deleting, and searching is O(1).
The maximum number of members in a collection is 232 - 1 (4294967295, each collection can store more than 4 billion members).

SADD key member1 [member2] Add one or more members to the set
redis 127.0.0.1:6379> sadd ids a1
(integer) 1
redis 127.0.0.1:6379> sadd ids a2
(integer) 1
redis 127.0.0.1:6379> sadd ids a3
(integer) 1
redis 127.0.0.1:6379> sadd ids a4
(integer) 1

scard get the number of members
redis 127.0.0.1:6379> scard ids //We added 4 members
(integer) 4

sdiff return Difference set for given set
redis 127.0.0.1:6379> sadd userIds a1
(integer) 1
redis 127.0.0.1:6379> sadd userIds a2
(integer) 1
redis 127.0.0.1:6379> sadd userIds dxc
(integer) 1
redis 127.0.0.1:6379> sadd userIds dac
(integer) 1
redis 127.0.0.1:6379> sdiff ids userIds //Note: the difference between the two sets of ids and userId Set (in ids there are members that do not have userIds)
1) "a3"
2) "a4"

sdiffstore stores the difference set of the ids userIds set into the set theIds combination
redis 127.0.0.1:6379> sdiffstore theIds ids userIds
(integer ) 2
redis 127.0.0.1:6379> smembers theIds //smembers returns all members
1) "a3"
2) "a4"

sinter find intersection
redis 127.0.0.1:6379> sinter ids userIds
1) "a2"
2) "a1"

sinterstore finds the intersection of ids and userIds and stores it in the collection theSameIds
redis 127.0.0.1:6379> sinterstore theSameIds ids userIds
(integer) 2
redis 127.0.0.1:6379> smembers theSameIds
1) "a2"
2) "a1"

sismember Judge whether an element is a member of a set
  redis 127.0.0.1:6379> sismember ids a1 //Determine whether a1 is a member Returns 1 for a member of the set ids, not 0
(integer) 1
  redis 127.0.0.1:6379> sismember ids a1cc
(integer) 0

smove source destination member
moves the member element from the source set to the destination set


spop key removes and returns the set A random element in
redis 127.0.0.1:6379> spop ids
"a3"


union set
redis 127.0.0.1:6379> sadd region1 xian
(integer) 1
redis 127.0.0.1:6379> sadd region1 changsha
(integer) 1
redis 127.0 .0.1:6379> sadd region1 bejing
(integer) 1
redis 127.0.0.1:6379> sadd region2 bejing
(integer) 1
redis 127.0.0.1:6379> sadd region2 guangzhou
(integer) 1
redis 127.0.0.1:6379> sadd region2 shengzheng
(integer) 1
For example: find the union of region1 and region2 Set
redis 127.0.0.1:6379> sunion region1 region2
1) "bejing"
2) "guangzhou"
3) "xian"
4) "shengzheng"
5) "changsha"
For example: find the union of region1 and region2 and store it in region In the set
redis 127.0.0.1:6379> sunionstore region region1 region2
(integer) 5
redis 127.0.0.1:6379> smembers region
1) "bejing"
2) "guangzhou"
3) "xian"
4) " shengzheng"
5) "changsha"
 
The Redis Sscan command is used to iterate over the elements in a collection key.

redis 127.0.0.1:6379> SADD myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SADD myset1 "hi"
(integer) 1
redis 127.0.0.1:6379> SADD myset1 "bar"
(integer) 1
redis 127.0 .0.1:6379> sscan myset1 0 match h*
1) "0"
2) 1) "hello"
   2) "h1"

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326750131&siteId=291194637