键命令详解
键基础操作
1. KEYS
KEYS pattern
- 功能:模式匹配查询键名
- 通配符:
*
匹配任意长度字符?
匹配单个字符[a-z]
字符范围匹配\
转义特殊字符
- 示例:
127.0.0.1:6379> KEYS user:*
1) "user:1001"
2) "user:1002"
2. SCAN
SCAN cursor [MATCH pattern] [COUNT count]
- 功能:安全遍历键空间
- 参数:
- cursor:迭代游标(0表示新迭代)
- COUNT:建议返回数量(默认10)
- 迭代示例:
127.0.0.1:6379> SCAN 0 MATCH order:* COUNT 50
1) "234"
2) 1) "order:20230801"
2) "order:20230802"
键生命周期管理
3. EXPIRE系列
EXPIRE key seconds
TTL key
PERSIST key
127.0.0.1:6379> SET session:1001 "active"
127.0.0.1:6379> EXPIRE session:1001 3600
127.0.0.1:6379> TTL session:1001
(integer) 3592
127.0.0.1:6379> PERSIST session:1001
数据库操作
4. 多数据库管理
SELECT index
MOVE key db
127.0.0.1:6379> SELECT 0
127.0.0.1:6379> SET temp:key "data"
127.0.0.1:6379> MOVE temp:key 1
(integer) 1
127.0.0.1:6379> SELECT 1
127.0.0.1:6379> EXISTS temp:key
(integer) 1
服务器管理命令
连接管理
PING
QUIT
AUTH
CLIENT LIST
监控与统计
1. INFO
INFO [section]
INFO Memory
INFO Stats
INFO Replication
2. MONITOR
MONITOR
1690901234.654321 [0 127.0.0.1:52341] "SET" "counter" "1"
1690901235.112233 [0 127.0.0.1:52341] "INCR" "counter"
配置管理
CONFIG GET *
CONFIG SET timeout 300
CONFIG REWRITE
数据维护
FLUSHDB
FLUSHALL
BGSAVE
SAVE
最佳实践指南
- 键命名规范
- 使用
业务:类型:ID
格式(例:order:202308:1001
) - 避免特殊字符,统一使用小写
- 过期策略优化
- 结合EXPIRE和PERSIST实现动态TTL管理
- 使用
EXPIREAT
处理固定时间点过期
- SCAN使用技巧
SCAN 0 MATCH product:* COUNT 1000
- 避免COUNT值过大(建议500-1000)
- 多次迭代直到返回游标0
- 危险命令防护
rename-command FLUSHALL ""
rename-command KEYS "HIDDEN_KEYS"
- 内存管理
MEMORY USAGE key
MEMORY STATS
命令速查表
类别 | 命令 | 时间复杂度 | 说明 |
---|
键操作 | DEL | O(1) | 立即删除 |
键操作 | UNLINK | O(1) | 异步删除 |
过期控制 | PEXPIRE | O(1) | 毫秒级过期设置 |
类型判断 | TYPE | O(1) | 返回键类型 |
服务管理 | DBSIZE | O(1) | 当前库键数量 |
服务管理 | TIME | O(1) | 获取服务器时间 |