redis: set(集合) zset(有序集合)

#set 集合 

    # ⽆序集合

    # 元素为string类型

    # 元素具有唯⼀性,不重复

    # 说明:对于集合没有修改操作

#添加元素

sadd key member member...

#获取集合里面的元素

smembers key

#删除

srem key member member.....

#查看集合里面有多少元素

scard key

#差集 找出key中有的key2中没有的

# key 1 2 3 4 5

# key2 1 2 3 6 7

# 返回结果: 4 5

sdiff key key2

#交集 找出key和key2中相同的返回

# key 1 2 3 4 5

# key2 1 2 3 6 7

# 返回结果: 1 2 3

sinter key key2

#并集

# key 1 2 3 4 5

# key2 1 2 3 6 7

# 返回结果: 1 2 3 4 5 6 7

sunion key key2

#差集 找出key中key2没有的并保存在key3中

# key 1 2 3 4 5

# key2 1 2 3 6 7

# 返回结果在key3中:4 5

sdiffstore key3 key key2

#并集 key和key2中连在一起并且去重放在key3中

# key 1 2 3 4 5

# key2 1 2 3 6 7

# 返回结果在key3: 1 2 3 4 5 6 7

sunionstore key3 key key2

#交集 key和key2中相同的放在key3中

# key 1 2 3 4 5

# key2 1 2 3 6 7

# 返回结果在key3: 1 2 3

sinterstore key3 key key2

#随机取出值并且删除

spop key

#随机获取值,不删除

srandmember key count(数量,默认为1)

# zset类型

sudo service redis stop

#    sorted set,有序集合

#    元素为string类型

#    元素具有唯⼀性,不重复

#    每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序

#    说明:没有修改操作

#存储添加元素

zadd key score(权重) value score value

#根据索引查看指定范围的成员

zrang key start(下标0开始) stop(下标-1 最后)

#查看返回momber的权重

zscore key momber

#返回momber的下标

zrank key member

#返回key一共有几个momber

zcard key

#给member设置权重增量

zincrbyscore key 10(权重增量) member(给哪个成员添加增量)

#根据权重范围返回出范围内全部成员数量

zcount key min max

#根据值查找值的下标位置

zrank key value

#根据值查找值的权重

zscore key value

#根据索引删除元素 

zremrangebyrank key start stop

#根据权重删除元素 

zremrangebyscore key 权重 权重(是一个范围)

#根据指定索引的范围删除成员

zremrangebyrank key start stop

#删除成员

zrem key value value .....

#根据权重删除成员

zremrangebyscore key min(权重,范围) max

#根据权重倒序(1 2 3 -> 3 2 1 )

zrevrange key start(下标从哪开始) stop(下标到哪里结束)

#根据元素返回元素在有序集合中的下标

zrevrank key value

你可能感兴趣的:(redis: set(集合) zset(有序集合))