莅耸 发表于 2025-6-11 18:23:47

Redis组件介绍(二)

写在前面

今天我们继续学习 Redis。
Redis 常用数据类型

在 Redis 中,每个存储的键值对中,键是 String 类型,值可以是不同的数据类型。Redis 的索引是含头含尾的。
String

内存模型


常用指令


[*]设置值

[*]SET key value: 设置一个 key/value。
[*]MSET key1 value1 : 一次设置多个 key/value。
[*]SETEX key seconds value: 设置一个 key 的有效期(秒),可以设置不存在的键。
[*]PSETEX key milliseconds value: 设置一个 key 的有效期(毫秒)。
[*]SETNX key value: 如果 key 不存在则设置值。
[*]MSETNX key1 value1 : 同时设置多个 key,只有当所有 key 不存在时才会保存。

[*]获取值

[*]GET key: 根据 key 获取对应的 value。
[*]MGET key1 : 一次获取多个 key 的 value。
[*]GETSET key value: 获取原始 key 的值,同时设置新值。
[*]GETRANGE key start end: 截取 value 的内容,从 start 到 end(含头含尾)。

[*]其他操作

[*]STRLEN key: 获取对应 key 存储 value 的长度。
[*]APPEND key value: 为对应 key 的 value 追加内容,返回修改后的总字符串长度。
[*]DECR key: 数值类型的 -1 操作。
[*]DECRBY key decrement: 根据提供的数据进行减法操作。
[*]INCR key: 数值类型的 +1 操作。
[*]INCRBY key increment: 根据提供的数据进行加法操作。
[*]INCRBYFLOAT key increment: 根据提供的数据加入浮点数(不进行四舍五入)。

List

内存模型


常用指令


[*]操作列表

[*]LPUSH key value : 将某个值加入到列表的头部。如果列表不存在,会创建新列表。
[*]LPUSHX key value: 在列表存在时,将值加入到列表的头部。
[*]RPUSH key value : 将某个值加入到列表的末尾。
[*]RPUSHX key value: 在列表存在时,将值加入到列表的末尾。

[*]获取和删除

[*]LPOP key: 从列表左边返回并移除第一个元素。
[*]RPOP key: 从列表右边返回并移除第一个元素。
[*]LRANGE key start stop: 获取指定范围内的元素。
[*]LLEN key: 获取列表元素个数。
[*]LSET key index value: 设置指定索引的值。
[*]LINDEX key index: 获取指定索引位置的元素。
[*]LREM key count value: 删除列表中指定的元素。
[*]LTRIM key start stop: 保留列表中特定区间内的元素,删除其他元素。
[*]LINSERT key BEFORE|AFTER pivot value: 在指定元素之前或之后插入新元素。

Set

内存模型


Set 是无序且不可重复的。
常用指令


[*]操作集合

[*]SADD key member : 向集合添加元素。
[*]SMEMBERS key: 显示集合中所有元素。
[*]SCARD key: 返回集合中元素的个数。
[*]SPOP key: 随机返回并删除一个元素。
[*]SMOVE source destination member: 从一个集合移动元素到另一个集合(必须是同种类型)。
[*]SREM key member : 从集合中删除指定元素。
[*]SISMEMBER key member: 判断集合中是否包含某个元素。
[*]SRANDMEMBER key : 随机返回集合中的元素。

[*]集合运算

[*]SDIFF key : 返回第一个集合中不在其他集合中的元素。
[*]SINTER key : 求集合的交集。
[*]SUNION key : 求集合的并集。

Sorted Set (ZSet)

内存模型

https://img2024.cnblogs.com/blog/3492080/202408/3492080-20240829193830411-873155935.png
Sorted Set 是可排序的集合,元素不可重复,并且具有分数。
常用指令


[*]操作有序集合

[*]ZADD key score member : 添加元素到有序集合。
[*]ZCARD key: 返回集合的元素个数。
[*]ZRANGE key start stop : 返回指定范围内的元素(升序)。
[*]ZREVRANGE key start stop : 返回指定范围内的元素(降序)。
[*]ZRANGEBYSCORE key min max : 按分数查找范围内的元素。
[*]ZRANK key member: 返回元素的排名(升序)。
[*]ZREVRANK key member: 返回元素的倒序排名。
[*]ZSCORE key member: 显示元素的分数。
[*]ZREM key member : 移除某个元素。
[*]ZINCRBY key increment member: 为元素增加分数。

Hash

内存模型


Hash 的 value 是一个 map 结构,存储键值对。Redis 中的 Hash 类似于 Map 类型,键无序。
常用指令


[*]操作哈希

[*]HSET key field value : 设置一个或多个 key/value 对。
[*]HMSET key field value : 设置多个 key/value 对。
[*]HSETNX key field value: 设置一个不存在的 key 的值。

[*]获取哈希值

[*]HGET key field: 获取指定 field 对应的 value。
[*]HGETALL key: 获取所有的 key/value 对。
[*]HMGET key field : 获取多个 field 对应的 value。

[*]其他操作

[*]HDEL key field : 删除指定的 field。
[*]HEXISTS key field: 判断 field 是否存在。
[*]HKEYS key: 获取所有的 key。
[*]HVALS key: 获取所有的 value。
[*]HINCRBY key field increment: 为指定 field 的 value 执行加法操作。
[*]HINCRBYFLOAT key field increment: 为指定 field 的 value 执行浮点数加法操作。


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Redis组件介绍(二)