⚡ Redis 命令概述

掌握 Redis 命令的分类和使用方法

Redis 命令简介

Redis 提供了丰富的命令集,用于操作不同的数据类型和执行各种功能。这些命令按功能分为多个类别,每个类别都有其特定的用途和语法规则。

命令语法规则

  • 命令名称不区分大小写(建议使用大写)
  • 参数之间用空格分隔
  • 字符串参数可以用双引号包围
  • 可选参数用方括号 [] 表示
  • 多选一参数用竖线 | 分隔

🔑 键操作命令

用于操作 Redis 键的通用命令,适用于所有数据类型。

EXISTS key

检查键是否存在

DEL key [key ...]

删除一个或多个键

TYPE key

返回键的数据类型

EXPIRE key seconds

设置键的过期时间

TTL key

查看键的剩余生存时间

KEYS pattern

查找匹配模式的键

🔤 字符串命令

操作字符串类型数据的专用命令。

SET key value

设置字符串值

GET key

获取字符串值

INCR key

将数值递增1

DECR key

将数值递减1

APPEND key value

追加字符串到末尾

STRLEN key

获取字符串长度

🗂️ 哈希命令

操作哈希类型数据的专用命令。

HSET key field value

设置哈希字段值

HGET key field

获取哈希字段值

HMSET key field value [field value ...]

批量设置哈希字段

HGETALL key

获取所有字段和值

HDEL key field [field ...]

删除哈希字段

HKEYS key

获取所有字段名

📋 列表命令

操作列表类型数据的专用命令。

LPUSH key value [value ...]

从左侧插入元素

RPUSH key value [value ...]

从右侧插入元素

LPOP key

从左侧弹出元素

RPOP key

从右侧弹出元素

LRANGE key start stop

获取指定范围元素

LLEN key

获取列表长度

🎯 集合命令

操作集合类型数据的专用命令。

SADD key member [member ...]

添加集合成员

SMEMBERS key

获取所有成员

SISMEMBER key member

检查成员是否存在

SREM key member [member ...]

删除集合成员

SINTER key [key ...]

计算集合交集

SUNION key [key ...]

计算集合并集

🏆 有序集合命令

操作有序集合类型数据的专用命令。

ZADD key score member [score member ...]

添加有序集合成员

ZRANGE key start stop [WITHSCORES]

按索引范围获取成员

ZREVRANGE key start stop [WITHSCORES]

按索引范围逆序获取

ZSCORE key member

获取成员分数

ZREM key member [member ...]

删除有序集合成员

ZCARD key

获取有序集合大小

🔧 服务器命令

用于管理和监控 Redis 服务器的命令。

INFO [section]

获取服务器信息

PING [message]

测试连接

FLUSHDB

清空当前数据库

FLUSHALL

清空所有数据库

SELECT index

切换数据库

DBSIZE

获取数据库键数量

命令使用示例

# 字符串操作
SET name "Redis"
GET name
INCR counter

# 哈希操作
HSET user:1 name "张三" age 25
HGET user:1 name
HGETALL user:1

# 列表操作
LPUSH mylist "item1" "item2"
LRANGE mylist 0 -1
LPOP mylist

# 集合操作
SADD myset "member1" "member2"
SMEMBERS myset
SISMEMBER myset "member1"

# 有序集合操作
ZADD leaderboard 100 "player1" 200 "player2"
ZRANGE leaderboard 0 -1 WITHSCORES
ZREVRANGE leaderboard 0 2

💡 使用建议

  • 使用 HELP command 查看命令帮助
  • 生产环境避免使用 KEYS * 命令
  • 合理设置键的过期时间
  • 使用批量操作提高性能
  • 注意命令的时间复杂度