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 会清空所有数据库,请谨慎使用

复制代码
                      |

相关推荐
morris13120 分钟前
【redis】CacheAside的数据不一致性问题
redis·缓存策略·cache aside·数据不一致性
数据库幼崽21 分钟前
MySQL 8.0 OCP 1Z0-908 51-60题
数据库·mysql·ocp
心仪悦悦33 分钟前
Spark缓存
大数据·缓存·spark
wjcurry33 分钟前
我的实习日报
java·redis·mysql
我叫珂蛋儿吖35 分钟前
[redis进阶六]详解redis作为缓存&&分布式锁
运维·c语言·数据库·c++·redis·分布式·缓存
小L爱科研1 小时前
4.7/Q1,GBD数据库最新文章解读
数据库·机器学习·数据分析·回归·健康医疗
GUIQU.1 小时前
【MySQL】函数
数据库·mysql
·云扬·1 小时前
【PmHub后端篇】PmHub中基于Redis加Lua脚本的计数器算法限流实现
redis·算法·lua
chennalC#c.h.JA Ptho1 小时前
kubuntu系统详解
linux·数据库·经验分享·postgresql·系统安全