网站建设公司前台网站做短信验证需要多少钱
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 : 倒着数获取某个元素下标索引
 

