【Redis】二、Redis常用数据类型命令学习

目录

一、String

[1. SET、GET:设置与读取键值对:](#1. SET、GET:设置与读取键值对:)

[2. DEL:删除键](#2. DEL:删除键)

[3. INCR、DECR:自增 / 自减(常用于计数器)](#3. INCR、DECR:自增 / 自减(常用于计数器))

[4. APPEND:内容追加](#4. APPEND:内容追加)

[5. EXPIRE:设置过期时间 / 查看剩余时间(秒)](#5. EXPIRE:设置过期时间 / 查看剩余时间(秒))

二、Hash

[1. HSET:设置字段值](#1. HSET:设置字段值)

[2. HGET:获取某个字段的值](#2. HGET:获取某个字段的值)

[3. HGETALL:获取整个对象](#3. HGETALL:获取整个对象)

[4. HDEL:删除字段](#4. HDEL:删除字段)

[5. HEXISTS:字段是否存在](#5. HEXISTS:字段是否存在)

[6. HINCRBY:对某个字段做数值加减](#6. HINCRBY:对某个字段做数值加减)

三、List

[1. LPUSH、RPUSH:从两端添加元素](#1. LPUSH、RPUSH:从两端添加元素)

[2. LPOP、RPOP:从两端弹出元素(读取并删除)](#2. LPOP、RPOP:从两端弹出元素(读取并删除))

[3. LRANGE:查看列表中所有元素](#3. LRANGE:查看列表中所有元素)

[4. LLEN:获取列表长度](#4. LLEN:获取列表长度)

[5. LREM:删除指定元素](#5. LREM:删除指定元素)

[6. LTRIM:截取列表元素](#6. LTRIM:截取列表元素)

四、Set

[1. SADD:添加元素](#1. SADD:添加元素)

[2. SREM:删除元素](#2. SREM:删除元素)

[3. SMEMBERS:获取所有元素](#3. SMEMBERS:获取所有元素)

[4. SISMEMBER:检查元素是否存在](#4. SISMEMBER:检查元素是否存在)

[5. SCARD:获取元素数量](#5. SCARD:获取元素数量)

[6. SRANDMEMBER:随机获取元素](#6. SRANDMEMBER:随机获取元素)

[7. SINTER、SUNION、SDIFF:集合求交集、并集和差集](#7. SINTER、SUNION、SDIFF:集合求交集、并集和差集)

[五、Sorted Set](#五、Sorted Set)

[1. ZADD:添加元素](#1. ZADD:添加元素)

[2. ZRANGE:按分数范围获取元素](#2. ZRANGE:按分数范围获取元素)

[3. ZREVRANGE:按分数降序获取元素](#3. ZREVRANGE:按分数降序获取元素)

[4. ZRANGEBYSCORE:按分数区间获取元素](#4. ZRANGEBYSCORE:按分数区间获取元素)

[5. ZREM:删除元素](#5. ZREM:删除元素)

[6. ZSCORE:获取元素分数](#6. ZSCORE:获取元素分数)

[7. ZINCRBY:增加元素分数](#7. ZINCRBY:增加元素分数)

[8. ZCARD:获取集合元素数量](#8. ZCARD:获取集合元素数量)

[9. ZCOUNT:统计分数区间内的元素数量](#9. ZCOUNT:统计分数区间内的元素数量)


今天继续学习redis,今天学习常用的数据类型命令。

一、String

特点:一个 key 对应一个 value,value 可以是:字符串、数字、二进制数据(如图片base64)。

1. SET、GET:设置与读取键值对:

复制代码
SET name "Alice"
GET name

可以在后面加一个EX,跟上时间(单位:s),指定过期时间,如,设置一个token值为10秒后过期

复制代码
SET session:123 "token_xyz" EX 10    # 设置10秒后过期

2. DEL:删除键

复制代码
DEL name

3. INCR、DECR:自增 / 自减(常用于计数器)

当设置的value为整数时,可以使用下面的操作自增自减

复制代码
SET views 0
INCR views        # views = 1
INCRBY views 10   # views = 11
DECR views        # views = 10
DECRBY views 5    # views = 5

4. APPEND:内容追加

如果设置的value为字符串,则可以向字符串末尾追加内容

复制代码
SET msg "Hello"
APPEND msg ", world!"    # msg = "Hello, world!"

5. EXPIRE:设置过期时间 / 查看剩余时间(秒)

复制代码
EXPIRE name 30 # 30秒后自动删除
 TTL name # 返回剩余生存时间

二、Hash

Hash 是一个 键值对集合 ,它的结构像 JavaScript 中的对象或 Python 中的字典。Redis 中的 Hash 是 单个 key 下,包含多个 field-value 键值对。

1. HSET:设置字段值

从 Redis 4.0 开始,HSET 可以一次设置多个 field。

复制代码
HSET user:1 name "Alice"
HSET user:1 age 30 email "alice@example.com"

2. HGET:获取某个字段的值

复制代码
HGET user:1 email

3. HGETALL:获取整个对象

复制代码
HGETALL user:1

1) "age"
2) "12"
3) "email"
4) "test123@qq.com"

4. HDEL:删除字段

复制代码
HDEL user:1 email

5. HEXISTS:字段是否存在

复制代码
HEXISTS user:1 age

6. HINCRBY:对某个字段做数值加减

复制代码
HINCRBY user:1 age 1

三、List

Redis 的 List 是一个有序的字符串列表,支持从两端插入或弹出元素,常用于队列、栈、消息列表等场景。

1. LPUSH、RPUSH:从两端添加元素

复制代码
LPUSH tasks "task1" "task2"
# tasks = ["task2", "task1"]
RPUSH tasks "task3"
# tasks = ["task2", "task1", "task3"]

2. LPOP、RPOP:从两端弹出元素(读取并删除)

复制代码
LPOP tasks
# 返回 "task2",tasks = ["task1", "task3"]
RPOP tasks
# 返回 "task2",tasks = ["task1"]

3. LRANGE:查看列表中所有元素

复制代码
LRANGE key start stop

索引从 0 开始,-1 表示最后一个元素,例如:LRANGE tasks 0 -1 可以获取整个列表

4. LLEN:获取列表长度

复制代码
LLEN key

5. LREM:删除指定元素

复制代码
LREM key count value

count 如果大于0就是从左向右删除,反之则是从右向左删除

6. LTRIM:截取列表元素

复制代码
LTRIM key start stop

保留start和stop区间内的元素。

四、Set

Redis 的 Set 是一种非常实用的数据结构,它类似于数学中的集合概念,具有唯一性 和无序性。

1. SADD:添加元素

复制代码
SADD key member1 [member2 ...]     # 添加元素(返回新增元素数量)

2. SREM:删除元素

复制代码
SREM key member1 [member2 ...]

3. SMEMBERS:获取所有元素

复制代码
SMEMBERS key

4. SISMEMBER:检查元素是否存在

复制代码
SISMEMBER key member

返回1为存在,0为不存在

5. SCARD:获取元素数量

复制代码
SCARD key

6. SRANDMEMBER:随机获取元素

复制代码
SRANDMEMBER key [count]

7. SINTER、SUNION、SDIFF:集合求交集、并集和差集

复制代码
SINTER key1 [key2 ...]    # 交集,返回两个集合相同的元素
SUNION key1 [key2 ...]    # 并集,返回两个集合中的所有元素
SDIFF key1 [key2 ...]     # 差集,返回第一个集合中存在,但其他集合中不存在的元素。

五、Sorted Set

Sorted Set整合了Set和List的特点,是 Redis 中功能最强大的数据类型之一,并通过 ** 分数(Score)** 实现了灵活的排序和范围查询能力。

1. ZADD:添加元素

复制代码
ZADD key score1 member1 [score2 member2 ...]

2. ZRANGE:按分数范围获取元素

复制代码
ZRANGE key start stop [WITHSCORES]

3. ZREVRANGE:按分数降序获取元素

复制代码
ZREVRANGE key start stop [WITHSCORES]

4. ZRANGEBYSCORE:按分数区间获取元素

复制代码
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

5. ZREM:删除元素

复制代码
ZREM key member1 [member2 ...]

6. ZSCORE:获取元素分数

复制代码
ZSCORE key member

7. ZINCRBY:增加元素分数

复制代码
ZINCRBY key increment member

8. ZCARD:获取集合元素数量

复制代码
ZCARD key

9. ZCOUNT:统计分数区间内的元素数量

复制代码
ZCOUNT key min max
相关推荐
开开心心就好3 分钟前
Windows视频播放器推荐,精简版体积更小
java·服务器·开发语言·eclipse·pdf·ocr·音视频
li星野13 分钟前
【学习记录】DAP调试器电路原理图完全详解:从STM32最小系统到SWD调试接口
stm32·嵌入式硬件·学习
诸神缄默不语22 分钟前
小春学习日刊 2026年第2期:2026.10.14
学习
Rain的Java大神之路25 分钟前
10 万人抢 2000 个座位,电影票选座系统怎么防超卖?一文讲透大厂高频场景题
java·后端·面试
qq_2842740526 分钟前
电气控制与PLC·HMI触摸屏组态与自动伸缩门控制系统 CSDN发布稿
笔记·学习·自动化
砚底藏山河31 分钟前
量化新手误区:因子计算与行情数据的工程化解耦
java·数据库·python·金融
威哥爱编程34 分钟前
【AI全栈12-07】Spring Boot 用 Agent 自动完成多步运营任务
java·spring boot·后端
未秃头的程序猿37 分钟前
我用 Spring AI + MCP 把公司内部系统接给了 AI,过程没想象中顺利
java·后端
xier_ran1 小时前
【infra之路】AI 编译器学习笔记(七):Linalg 与 Tiling——把迭代空间切成块
人工智能·笔记·学习
m0_587383001 小时前
碰碰好评卡功能落地实战 从需求梳理到上线部署全流程实操指南
java·linux·服务器·前端·javascript·vue.js·人工智能