【Redis】004
【Redis】004
一、Set集合类型详解1、概述set集合是无序的;set集合里面的值是不允许重复的;set相关命令都是以s开头的;2、添加元素格式:代码语言:javascript代码运行次数:0运行复制sadd key value演示:、获取set集合的元素格式:代码语言:javascript代码运行次数:0运行复制smembers key演示:4、判断某个元素是否存在于某set集合中格式
【Redis】004
1、概述
set集合是无序的;
set集合里面的值是不允许重复的;
set相关命令都是以s开头的;
2、添加元素
格式:
代码语言:javascript代码运行次数:0运行复制sadd key value
演示:
、获取set集合的元素
格式:
代码语言:javascript代码运行次数:0运行复制smembers key
演示:
4、判断某个元素是否存在于某set集合中
格式:
代码语言:javascript代码运行次数:0运行复制sismember key value
演示:
5、获取set集合中元素的个数
格式:
代码语言:javascript代码运行次数:0运行复制scard key
演示:
6、移除指定的元素
格式:
代码语言:javascript代码运行次数:0运行复制srem key value
演示:
7、随机获取set集合中的一个元素
格式:
代码语言:javascript代码运行次数:0运行复制srandmember key
演示:
8、随机获取指定个数的元素
格式:
代码语言:javascript代码运行次数:0运行复制srandmember key number
演示:
9、随机移除一个元素(随机移除指定数量的元素)
格式:
代码语言:javascript代码运行次数:0运行复制spop key (number)
演示:
10、将一个set集合中的指定元素移动到另一个集合里面
格式:
代码语言:javascript代码运行次数:0运行复制smove key1 key2 value
# key1指的是原集合,key2指的是目标集合,value指的是指定的要移动的元素
演示:
11、set集合的差集、交集、并集
格式:
代码语言:javascript代码运行次数:0运行复制sdiff key1 key2
# key1 - key2
sinter key1 key2
# key1与key2交集
sunion key1 key2
# key1与key2并集
演示:
1、概述
类似于一个Key-Map集合,key-<key-vlaue>,也是key-vlaue集合,这是value是一个map;
相关操作以h开头;
这是一个集合!并非一个单一的值!
2、添加和获取值
格式:
代码语言:javascript代码运行次数:0运行复制hset key field value
# 存
hget key field
# 取
演示:
、批量添加
格式:
代码语言:javascript代码运行次数:0运行复制hmset key field1 v1 field2 v2 。。。 以此类推即可
演示:
4、批量获取
格式:
代码语言:javascript代码运行次数:0运行复制hmget key field1 field2 field 。。。以此类推即可
演示:
5、获取全部是数据
格式:
代码语言:javascript代码运行次数:0运行复制hgetall key
演示:
6、删除指定key的字段(对应的value也随之删除)
格式:
代码语言:javascript代码运行次数:0运行复制hdel key field
演示:
7、获取hash表的字段数量
格式:
代码语言:javascript代码运行次数:0运行复制hlen key
演示:
8、判断hash中的指定字段是否存在
格式:
代码语言:javascript代码运行次数:0运行复制hexists key field
演示:
9、获取hash的所有字段
格式:
代码语言:javascript代码运行次数:0运行复制hkeys hash
演示:
10、获取hash的所有字段
格式:
代码语言:javascript代码运行次数:0运行复制hvals key
演示:
11、自增、自减
格式:
代码语言:javascript代码运行次数:0运行复制hincrby key field num
# 自增num为正数,自减num为负数
演示:
12、如果不存在则添加(类似String字符串)
格式:
代码语言:javascript代码运行次数:0运行复制hsetnx key field value
演示:
1、使用场景
变更数据,name,age,等等;
hash更适合存储对象;
String更适合字符串存储;
例如:
1、概述
在set的基础上增加了一个值,set k1 v1 zset k1 score1 v1;
命令以z开头;
2、添加、获取
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> zadd zset 1 hello # 添加一个元素
(integer) 1
127.0.0.1:679> zadd zset 2 zibo world 4 dog # 添加多个元素
(integer)
127.0.0.1:679> zrange zset 0 -1 # 获取所有元素
1) "hello"
2) "zibo"
) "world"
4) "dog"
、排序
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> zrangebyscore zset -inf +inf # 按照score排序,从负无穷到正无穷
1) "hello"
2) "zibo"
) "world"
4) "dog"
4、附带信息的排序
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> zrangebyscore zset -inf +inf withscores
1) "hello"
2) "1"
) "zibo"
4) "2"
5) "world"
6) ""
7) "dog"
8) "4"
5、降序排序
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> zrevrangebyscore zset +inf -inf withscores
1) "dog"
2) "4"
) "world"
4) ""
5) "zibo"
6) "2"
7) "hello"
8) "1"
6、移除指定元素
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> zrange zset 0 -1
1) "hello"
2) "zibo"
) "world"
4) "dog"
127.0.0.1:679> zrem zset zibo
(integer) 1
127.0.0.1:679> zrange zset 0 -1
1) "hello"
2) "world"
) "dog"
7、获取zset集合的元素数量
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> zcard zset
(integer)
8、统计存于一个范围的元素的数量
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> zrange zset 0 -1
1) "hello"
2) "zibo"
) "world"
4) "dog"
127.0.0.1:679> zrem zset zibo
(integer) 1
127.0.0.1:679> zeange zset 0 -1
(error) ERR unknown command 'zeange'
127.0.0.1:679> zrange zset 0 -1
1) "hello"
2) "world"
) "dog"
127.0.0.1:679> zcard zset
(integer)
127.0.0.1:679> zcount zset 2 4
(integer) 2
127.0.0.1:679>
9、备注
其他的api,可以到去查看;
10、应用思路
班级成绩、公司工资排序;
带权重的消息;
排行榜;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除集合数据类型hashredisset#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-23 11:10:22
上一篇:【Redis】005
下一篇:【Redis】003
留言与评论(共有 8 条评论) |
本站网友 如何装系统 | 12分钟前 发表 |
key-<key-vlaue> | |
本站网友 drawtext | 2分钟前 发表 |
679> zeange zset 0 -1 (error) ERR unknown command 'zeange' 127.0.0.1 | |
本站网友 颖芝 | 14分钟前 发表 |
添加元素格式:代码语言:javascript代码运行次数:0运行复制sadd key value演示: | |
本站网友 顶峰 | 18分钟前 发表 |
name | |
本站网友 苏州街地铁站 | 3分钟前 发表 |
添加 | |
本站网友 一生叹息 | 21分钟前 发表 |
随机获取set集合中的一个元素格式:代码语言:javascript代码运行次数:0运行复制srandmember key演示:8 | |
本站网友 郑州整形医院前十名 | 3分钟前 发表 |
获取hash的所有字段格式:代码语言:javascript代码运行次数:0运行复制hkeys hash演示:10 |