Redis十大类型——Set与Zset常见操作
- 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中元素个数
展示删除
- 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有序不重复
基本操作简列
- 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则表示取几个值用于限制返回
获取分数值
- zscore : 获取某个值对应的分数
- zcard : 获取集合中元素数量
删除
- zrem : 删除某个值,删除成功返回1,没有该元素返回0
分数操作
- zincrby : 增加某个元素的分数
- zcount : 获取某指定分数范围内元素个数
下面再展示一条Redis7中的新命令,主要做去重统计用
- zmpop ‘n’ ‘key’ … min/max count ‘m’ : 从n个’key’中弹出最小最大的m个元素
下标操作
- zrank : 正着数获取某个元素下标索引
- zrevrank : 倒着数获取某个元素下标索引