您现在的位置是:首页 > 编程 > 

【Redis】004

2025-07-28 09:46:34
【Redis】004 一、Set集合类型详解1、概述set集合是无序的;set集合里面的值是不允许重复的;set相关命令都是以s开头的;2、添加元素格式:代码语言:javascript代码运行次数:0运行复制sadd key value演示:、获取set集合的元素格式:代码语言:javascript代码运行次数:0运行复制smembers key演示:4、判断某个元素是否存在于某set集合中格式

【Redis】004

一、Set集合类型详解

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并集
演示:
二、Hash(哈希)类型详解

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更适合字符串存储;

例如:
三、Zset(有序集合)

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组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1198261.html

相关标签:无
上传时间: 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