redis的基本使用笔记二

本文详细介绍了Redis中set集合、哈希表(hash)和有序集合(zset)的基本命令,包括添加、获取、删除、交集、并集等操作,是理解Redis数据结构的重要起点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. set的基本使用

1.1 sadd命令

添加一个或多个指定的member元素到集合的 key中.指定的一个或者多个元素member 如果已经在集合key中存在则忽略.如果集合key 不存在,则新建集合key,并添加member元素到集合key中.

如果key 的类型不是集合则返回错误.

在这里插入图片描述

1.2 smembers命令

返回key集合所有的元素.

该命令的作用与使用一个参数的SINTER 命令作用相同.
上面已经做了示范,这里不再做展示。

1.3 sismember命令

返回成员 member 是否是存储的集合 key的成员.

如果member元素是集合key的成员,则返回1
如果member元素不是key的成员,或者集合key不存在,则返回0
在这里插入图片描述

1.4 scard命令

返回集合存储的key的基数 (集合元素的数量).
如果key不存在,则返回 0.
在这里插入图片描述

1.5 srem命令

在key集合中移除指定的元素.成功返回1
如果指定的元素不是key集合中的元素,则返回0
如果key集合不存在则被视为一个空的集合,则返回0.
在这里插入图片描述

1.6 srandmember命令

仅提供key参数,那么随机返回key集合中的一个元素.

Redis 2.6开始,可以接受 count 参数,如果count是整数且小于元素的个数,返回含有 count 个不同的元素的数组,如果count是个整数且大于集合中元素的个数时,仅返回整个集合的所有元素,当count是负数,则会返回一个包含count的绝对值的个数元素的数组,如果count的绝对值大于元素的个数,则返回的结果集里会出现一个元素出现多次的情况.

仅提供key参数时,该命令作用类似于SPOP命令,不同的是SPOP命令会将被选择的随机元素从集合中移除,而SRANDMEMBER仅仅是返回该随记元素,而不做任何操作.
在这里插入图片描述

1.7 spop命令

从存储在key的集合中移除并返回一个或多个随机元素。

此操作与SRANDMEMBER类似,它从一个集合中返回一个或多个随机元素,但不删除元素。

count参数将在更高版本中提供,但是在2.6、2.8、3.0中不可用。
当key不存在时返回nil。
在这里插入图片描述

1.8 smove命令

SMOVE source destination member

将member从source集合移动到destination集合中. 对于其他的客户端,在特定的时间元素将会作为source或者destination集合的成员出现.

如果source 集合不存在或者不包含指定的元素,这smove命令不执行任何操作并且返回0.否则对象将会从source集合中移除,并添加到destination集合中去,如果destination集合已经存在该元素,则smove命令仅将该元素充source集合中移除. 如果source 和destination不是集合类型,则返回错误.
在这里插入图片描述

1.9 sdiff命令

返回一个集合与给定集合的差集的元素.
在这里插入图片描述

1.10 sinter命令

返回指定所有的集合的成员的交集.
在这里插入图片描述

1.11 sunion命令

返回给定的多个集合的并集中的所有成员.
在这里插入图片描述

2. hash的基本使用

2.1 hset命令、hget命令、hsetnx命令

HSET key field value

设置 key 指定的哈希集中指定字段的值。

如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。

如果字段在哈希集中存在,它将被重写。

HGET key field

返回 key 指定的哈希集中该字段所关联的值

HSETNX key field value

只在 key 指定的哈希集中不存在指定的字段时,设置字段的值。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。如果字段已存在,该操作无效果。
在这里插入图片描述

2.2 hmset命令、hmget命令

HMSET key field value [field value ...]

设置 key 指定的哈希集中指定字段的值。该命令将重写所有在哈希集中存在的字段。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联
==由于现在hset已经能设置多个键值对,这里不作展示 ==

HMGET key field [field ...]

返回 key 指定的哈希集中指定字段的值。

对于哈希集中不存在的每个字段,返回 nil 值。因为不存在的keys被认为是一个空的哈希集,对一个不存在的 key 执行 HMGET 将返回一个只含有 nil 值的列表
在这里插入图片描述

2.3 hgetall命令

返回 key 指定的哈希集中所有的字段和值。返回值中,每个字段名的下一个是它的值,所以返回值的长度是哈希集大小的两倍
在这里插入图片描述

2.4 hdel命令

从 key 指定的哈希集中移除指定的域。在哈希集中不存在的域将被忽略。

如果 key 指定的哈希集不存在,它将被认为是一个空的哈希集,该命令将返回0。
在这里插入图片描述

2.5 hlen命令

返回 key 指定的哈希集包含的字段的数量。
在这里插入图片描述

2.6 hexists命令

返回hash里面field是否存在
在这里插入图片描述

2.7 hkeys命令

返回 key 指定的哈希集中所有字段的名字。
在这里插入图片描述

2.8 hvals命令

返回 key 指定的哈希集中所有字段的值。
在这里插入图片描述

2.9 hincrby 命令

增加 key 指定的哈希集中指定字段的数值。如果 key 不存在,会创建一个新的哈希集并与 key 关联。如果字段不存在,则字段的值在该操作执行前被设置为 0

HINCRBY 支持的值的范围限定在 64位 有符号整数
在这里插入图片描述

3. zset的基本使用

zset的操作与set的操作是有些相似的。不再过多展示。

其实最主要的原因还是感觉这些太基础了,就这样操作一边下来收益也不怎样。要深入了解基本命令,还是看这个吧
http://www.redis.cn/commands.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

苏觉s

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

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

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

打赏作者

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

抵扣说明:

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

余额充值