Redis命令参考手册
Redis命令参考手册
Key(键)操作
DEL
- 格式:
DEL key [key ...]
- 描述:删除指定的一个或多个key,不存在的key会被忽略
- 版本:>= 1.0.0
- 时间复杂度:
- O(N)(N为被删除key的数量)
- 删除字符串key:O(1)
- 删除列表/集合/有序集合/哈希:O(M)(M为元素数量)
- 返回值:被删除key的数量
- 示例:
redis> DEL name (integer) 1
KEYS
- 格式:
KEYS pattern
- 描述:查找所有匹配给定模式的key
- 警告:大数据集可能影响性能,建议用集合代替
- 版本:>= 1.0.0
- 时间复杂度:O(N)(N为数据库key数量)
- 示例:
redis> KEYS *o* 1) "four" 2) "two"
EXPIRE
- 格式:
EXPIRE key seconds
- 描述:设置key的生存时间(秒),过期自动删除
- 版本:>= 1.0.0
- 时间复杂度:O(1)
- 返回值:
- 设置成功:1
- key不存在/设置失败:0
- 示例:
redis> EXPIRE cache_page 30 (integer) 1
TTL
- 格式:
TTL key
- 描述:返回key剩余生存时间(秒)
- 返回值:
- key不存在:-2
- key存在但未设置过期:-1
- 其他:剩余秒数
- 示例:
redis> TTL key (integer) 10084
String(字符串)操作
SET
- 格式:
SET key value
- 描述:设置字符串值,覆盖旧值
- 版本:>= 1.0.0
- 示例:
redis> SET apple www.apple.com OK
GET
- 格式:
GET key
- 描述:获取字符串值
- 返回值:
- key不存在:nil
- 非字符串类型:报错
- 示例:
redis> GET apple "www.apple.com"
INCR
- 格式:
INCR key
- 描述:将key中存储的数字值+1
- 特性:
- key不存在时初始化为0再操作
- 值限制在64位有符号整数
- 应用场景:计数器
- 示例:
redis> INCR page_view (integer) 21
APPEND
- 格式:
APPEND key value
- 描述:字符串追加操作
- 版本:>= 2.0.0
- 应用场景:时间序列数据存储
- 示例:
redis> APPEND myphone "-1110" (integer) 12
Hash(哈希表)操作
HSET
- 格式:
HSET key field value
- 描述:设置哈希表字段值
- 版本:>= 2.0.0
- 返回值:
- 新字段:1
- 覆盖旧值:0
- 示例:
redis> HSET website google www.google.com (integer) 1
HGETALL
- 格式:
HGETALL key
- 描述:获取所有字段和值
- 返回值:字段值交替排列的列表
- 示例:
redis> HGETALL people 1) "jack" 2) "Jack Sparrow" 3) "gump" 4) "Forrest Gump"
List(列表)操作
LPUSH
- 格式:
LPUSH key value [value ...]
- 描述:列表头部插入元素
- 版本:>= 1.0.0
- 示例:
redis> LPUSH languages python (integer) 1
BLPOP
- 格式:
BLPOP key [key ...] timeout
- 描述:阻塞式弹出列表首个元素
- 特性:
- timeout=0表示无限阻塞
- 原子性操作
- 应用场景:消息队列
- 示例:
redis> BLPOP tasklist 30 1) "tasklist" 2) "process_data"
事务操作
MULTI
- 描述:标记事务开始
- 特性:后续命令进入队列但不执行
EXEC
- 描述:执行事务块内所有命令
- 原子性:事务执行期间不会被其他命令打断
WATCH
- 格式:
WATCH key [key ...]
- 描述:监视key变化,若被修改则中断事务
- 应用场景:乐观锁实现
Lua脚本
EVAL
- 格式:
EVAL script numkeys key [key ...] arg [arg ...]
- 描述:执行Lua脚本
- 特性:
- 原子性执行
- 脚本最大执行时间默认5秒
- 禁止创建全局变量
- 示例:
redis> EVAL "return redis.call('GET', KEYS[1])" 1 mykey "myvalue"
服务器管理
INFO
- 格式:
INFO [section]
- 描述:获取服务器统计信息
- 可选模块:
- server:服务器信息
- memory:内存统计
- persistence:持久化信息
- stats:通用统计
- 示例:
redis> INFO memory # Memory used_memory:1038272 used_memory_human:1013.55K
CONFIG SET
- 格式:
CONFIG SET parameter value
- 描述:运行时修改配置
- 示例:
redis> CONFIG SET slowlog-log-slower-than 1000 OK
重要提示:
- 时间复杂度说明:
O(1)
:恒定时间O(N)
:线性时间(N为元素数量)O(log N)
:对数时间- 版本标识表示该命令支持的最低Redis版本
## 核心特性总结| 特性 | 说明 | 应用场景 |
|------|------|----------|
| **原子性** | 所有命令原子执行 | 计数器、分布式锁 |
| **持久化** | RDB快照/AOF日志 | 数据持久存储 |
| **发布订阅** | PUB/SUB消息系统 | 实时消息通知 |
| **Lua脚本** | 原子执行复杂逻辑 | 事务操作、复杂计算 |> 完整命令参考请访问:https://redis.io/commands