Redis常见命令


1. String(字符串)

Redis 的 String 类型用来存储简单的字符串、数字、二进制数据等,每个 key 对应一个 value,最大可存储 512MB。

命令 作用
SET key value 设置 key 的值为 value
GET key 获取 key 的值
MSET key1 value1 key2 value2 ... 批量设置多个键值对
MGET key1 key2 ... 批量获取多个 key 的值
APPEND key value 追加字符串 value 到 key 原值末尾
STRLEN key 获取 key 存储字符串的长度
INCR key 将 key 对应的数字值加 1(适用于整型字符串)
DECR key 将 key 对应的数字值减 1
INCRBY key increment 将 key 的值增加指定的 increment
INCRBYFLOAT key increment 将 key 的值增加指定的浮点数 increment

示例

sh 复制代码
SET user:1001 "Alice"
GET user:1001               # 返回 "Alice"

MSET key1 "hello" key2 "world"
MGET key1 key2              # 返回 ["hello", "world"]

APPEND user:1001 " Smith"
GET user:1001               # 返回 "Alice Smith"

STRLEN user:1001            # 获取字符串长度,如返回 11

SET counter 10
INCR counter                # counter 变为 11
DECR counter                # counter 变为 10
INCRBY counter 5            # counter 变为 15
INCRBYFLOAT counter 2.5     # counter 变为 17.5

2. Hash(哈希)

Redis 的 Hash 类型是一种键值对集合,类似于一个小型的哈希表(字典),非常适合存储对象数据,如用户信息(id、name、age 等)。

命令 作用
HSET key field value 设置哈希表 key 中字段 field 的值,如果存在则覆盖
HGET key field 获取哈希表 key 中字段 field 的值
HMSET key field1 value1 field2 value2 ... 批量设置多个字段(已废弃,推荐多次调用 HSET)
HMGET key field1 field2 ... 批量获取多个字段的值
HDEL key field1 field2 ... 删除哈希表 key 中的一个或多个字段
HEXISTS key field 检查 key 中是否存在 field 字段,存在返回 1,否则返回 0
HKEYS key 获取哈希表 key 中的所有字段名(keys)
HVALS key 获取哈希表 key 中的所有值(values)
HGETALL key 获取哈希表 key 中的所有字段及其值
HLEN key 获取哈希表 key 中的字段数量
HINCRBY key field increment 将 key 的 field 值增加 increment(可为负数)
HINCRBYFLOAT key field increment 对 key 的 field 进行浮点数递增

示例

sh 复制代码
# 设置和获取哈希字段
HSET user:1001 name "Alice" age 25
HGET user:1001 name           # 返回 "Alice"

# 计数增量
HINCRBY user:1001 age 1       # 将 age 加 1,变为 26

# 获取整个哈希表
HGETALL user:1001             # 返回所有字段及值,如 {name: "Alice", age: 26}

# 删除字段
HDEL user:1001 age            # 删除 age 字段

# 判断字段是否存在
HEXISTS user:1001 name        # 存在返回 1

3. Set(集合)

Redis 的 Set 类型用于存储无序且不重复的元素集合,常用于去重或关系交集、并集等操作。

命令 作用
SADD key value 向集合 key 中添加一个或多个元素
SREM key value 从集合 key 中移除指定元素
SMEMBERS key 获取集合 key 中的所有成员
SISMEMBER key value 判断 value 是否是集合 key 的成员,存在返回 1
SCARD key 获取集合 key 中的成员数量

示例

sh 复制代码
SADD myset "apple" "banana" "cherry"
SISMEMBER myset "apple"     # 返回 1
SMEMBERS myset              # 返回 ["apple", "banana", "cherry"]
SREM myset "banana"
SCARD myset                 # 返回集合成员数量,如 2

4. ZSet(有序集合)

Redis 的 ZSet 类型存储有序的集合,每个元素关联一个分数,常用于排行榜、权重排序等场景。

命令 作用
ZADD key score value 添加元素 value 并赋予分数 score
ZREM key value 从有序集合中移除指定元素
ZRANGE key start stop [WITHSCORES] 获取指定排名区间内的元素,可选返回分数
ZRANK key value 获取 value 在有序集合中的排名(从 0 开始)
ZINCRBY key increment value 将元素 value 的分数增加 increment

示例

sh 复制代码
ZADD leaderboard 100 "Alice"
ZADD leaderboard 200 "Bob"
ZRANK leaderboard "Alice"    # 返回 0(表示第一名)
ZRANGE leaderboard 0 -1 WITHSCORES  # 返回所有成员及分数,如 [("Alice", 100), ("Bob", 200)]
ZINCRBY leaderboard 50 "Alice" # Alice 的分数变为 150
ZREM leaderboard "Bob"         # 移除 Bob

5. List(列表)

Redis 的 List 类型是按插入顺序排序的字符串列表,常用于实现消息队列、任务队列等。

命令 作用
LPUSH key value 从列表左侧(头部)插入元素
RPUSH key value 从列表右侧(尾部)插入元素
LPOP key 从列表左侧弹出(并返回)一个元素
RPOP key 从列表右侧弹出(并返回)一个元素
LRANGE key start stop 获取列表中指定区间的元素
LLEN key 获取列表的长度

示例

sh 复制代码
LPUSH mylist "apple" "banana"    # 列表顺序为 ["banana", "apple"]
RPUSH mylist "cherry"            # 列表顺序为 ["banana", "apple", "cherry"]
LRANGE mylist 0 -1               # 返回整个列表 ["banana", "apple", "cherry"]
LPOP mylist                      # 移除并返回 "banana"
LLEN mylist                      # 返回列表长度,如 2

6. Key 相关命令

管理 key 的存在、过期、重命名等操作,可以有效控制数据生命周期。

命令 作用
EXISTS key 检查 key 是否存在,存在返回 1,否则返回 0
DEL key 删除指定 key
EXPIRE key seconds 设置 key 的过期时间(单位:秒)
TTL key 获取 key 剩余生存时间(单位:秒)
KEYS pattern 获取匹配 pattern 的所有 key(慎用,生产环境不推荐)
RENAME key newkey 将 key 重命名为 newkey

示例

sh 复制代码
SET session "abc123"
EXISTS session           # 返回 1 表示 session 存在
EXPIRE session 60        # 设置 session 60 秒后过期
TTL session              # 返回 session 剩余生存时间
DEL session              # 删除 session

7. 客户端连接相关命令

用于管理客户端连接、认证、选择数据库以及断开连接。

命令 作用
AUTH password 认证连接所需的密码
SELECT db 选择数据库(0 ~ 15 默认数据库)
CLIENT LIST 列出当前所有客户端连接
CLIENT KILL ip:port 断开指定客户端连接
QUIT 关闭当前客户端连接

示例

sh 复制代码
AUTH mypassword           # 使用密码认证
SELECT 1                  # 选择数据库 1
CLIENT LIST               # 列出所有客户端连接
CLIENT KILL 127.0.0.1:6379 # 断开指定客户端连接
QUIT                      # 关闭连接

8. Redis 状态及监控命令

用于查看 Redis 服务器状态、信息、以及执行监控操作。

命令 作用
INFO 获取 Redis 服务器的详细信息(包括内存、连接、统计等)
PING 测试服务器连接是否正常,返回 PONG
DBSIZE 获取当前数据库中 key 的数量
FLUSHDB 清空当前数据库中的所有 key
FLUSHALL 清空所有数据库中的所有 key
MONITOR 实时监控 Redis 接收到的所有命令

示例

sh 复制代码
PING                         # 返回 PONG
INFO                         # 返回服务器详细信息
DBSIZE                       # 返回当前数据库 key 数量,如 10
FLUSHDB                      # 清空当前数据库
# 注意:FLUSHALL 会清空所有数据库,请谨慎使用

                      |

相关推荐
smart199811 分钟前
混合存储HDD+SSD机型磁盘阵列,配上SSD缓存功能,性能提升300%
科技·缓存·混合存储
NineData16 分钟前
NineData 社区版正式上线,支持一键本地化部署!
数据库·程序员
大0马浓23 分钟前
LLM训练如何从图片提取信息存入向量数据库
数据库·训练·rag
鱼骨不是鱼翅25 分钟前
Mybatis操作数据库----小白基础入门
数据库·mybatis
已是上好佳1 小时前
介绍一下Qt 中的QSizePolicy 布局策略
数据库·qt
钡铼技术物联网关1 小时前
导轨式ARM工业控制器:组态软件平台的“神经中枢”
linux·数据库·人工智能·安全·智慧城市
驜鸈2 小时前
MySQL 的EXPLAIN 计划 type 字段详细说明
android·数据库·mysql
XiYang-DING2 小时前
【数据库系统概论】第一章 绪论
数据库·oracle
码上飞扬2 小时前
Oracle RAC配置原理详解:构建高可用与高性能的数据库集群
数据库·oracle·rac
小刘爱喇石( ˝ᗢ̈˝ )2 小时前
行式数据库与列式数据库区别
数据库·分布式