Redis十大类型——Set与Zset常见操作


如果我们对Java有所了解,相信大家很容易就明白Set,在Redis中也一样,Set的value值不重复,无序不重复

Set

命令操作简列

  • sadd : 创建set并添加元素
  • smembers : 展示某个set
  • sismember : 检查set中是否存在某个值,存在返回1,不存在返回0
  • srem : 删除一个值,待删除的值存在返回1并删除,不存在则返回0
  • scard : 统计set中元素个数
  • srandmember ‘key’ ‘n’ : 在’key’中随机选n个元素不进行删除操作
  • spop ‘key’ ‘n’ : 从’key’中随机弹出n个元素,弹出后将从’key’中删除该元素
  • smove ‘key1’ ‘key2’ : 将’key1’中存在的某个值移动移动移动!!到’key2’
  • sdiff ‘key1’ ‘key2’:获取差集,即指在’key1’中存在’key2’中没有的值
  • sunion ‘key1’ ‘key2’ : 取并集,即两个key中的所有元素
  • sinter ‘key1’ ‘key2’ : 取交集,即两个key中同时存在的元素
  • sintercard ‘n’ ‘ke1’ … : 取交集,n个key列举后取交集并返回共有的个数

基本操作

  • sadd : 创建set并添加元素
  • smembers : 展示某个set
  • sismember : 检查set中是否存在某个值,存在返回1,不存在返回0
  • srem : 删除一个值,待删除的值存在返回1并删除,不存在则返回0
  • scard : 统计set中元素个数

set基本操作

展示删除

  • srandmember ‘key’ ‘n’ : 在’key’中随机选n个元素不进行删除操作
  • spop ‘key’ ‘n’ : 从’key’中随机弹出n个元素,弹出后将从’key’中删除该元素

展示删除

移动剪切

  • smove ‘key1’ ‘key2’ : 将’key1’中存在的某个值移动移动移动!!到’key2’

移动

集合运算

  • sdiff ‘key1’ ‘key2’:获取差集,即指在’key1’中存在’key2’中没有的值
  • sunion ‘key1’ ‘key2’ : 取并集,即两个key中的所有元素
  • sinter ‘key1’ ‘key2’ : 取交集,即两个key中同时存在的元素

下面展示一条Redis7中的新命令,主要做去重统计用

  • sintercard ‘n’ ‘ke1’ … : 取交集,n个key列举后取交集并返回共有的个数

集合运算

  • sintercard ‘n’ ‘ke1’ … limit y: 取交集,n个key列举后取交集并返回共有的个数 最大取y个

Zset

Zset在Set基础上,每个val值前面加了一个score分数值,从而达到有序集合目的使set有序不重复
Zset

基本操作简列

  • zadd : 创建添加元素
  • zrange ‘key’ ‘start’ ‘end’ [withscores]: 类似遍历展示所有元素
  • zrevrange : 逆序遍历
  • zrangebyscore ‘key’ ‘num1’ ‘num2’ [withscores] : 在key中取分数在num1到num2之间的值
  • zscore : 获取某个值对应的分数
  • zcard : 获取集合中元素数量
  • zrem : 删除某个值,删除成功返回1,没有该元素返回0
  • zincrby : 增加某个元素的分数
  • zcount : 获取某指定分数范围内元素个数
  • zmpop ‘n’ ‘key’ … min/max count ‘m’ : 从n个’key’中弹出最小最大的m个元素
  • zrank : 正着数获取某个元素下标索引
  • zrevrank : 倒着数获取某个元素下标索引

添加展示反转

  • zadd : 创建添加元素
  • zrange ‘key’ ‘start’ ‘end’ [withscores] : 类似遍历展示所有元素
  • zrevrange : 逆序遍历

在这里插入图片描述

按分数取值

前面关于zset的三个函数我们也能看到都是通过值取,那么下面这个顾名思义也很好理解就是通过分数过滤来取值

  • zrangebyscore ‘key’ ‘num1’ ‘num2’ [withscores] : 在key中取分数在num1到num2之间的值

这里我们可以注意到一些带“(”的情况即表示不包含当前值,limit则表示取几个值用于限制返回
byscore

获取分数值

  • zscore : 获取某个值对应的分数
  • zcard : 获取集合中元素数量

获取

删除

  • zrem : 删除某个值,删除成功返回1,没有该元素返回0

删除

分数操作

  • zincrby : 增加某个元素的分数
  • zcount : 获取某指定分数范围内元素个数
    下面再展示一条Redis7中的新命令,主要做去重统计用
  • zmpop ‘n’ ‘key’ … min/max count ‘m’ : 从n个’key’中弹出最小最大的m个元素

示例

下标操作

  • zrank : 正着数获取某个元素下标索引
  • zrevrank : 倒着数获取某个元素下标索引

下标

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一哑7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值