Redis 命令速查大全

🔹 1. 基础操作

命令示例说明
PINGPINGPONG检测服务是否在线
AUTHAUTH mypass密码认证
INFOINFO memory查看运行信息(可加子模块)
KEYSKEYS user:*模糊匹配键(⚠️ 线上慎用)
DELDEL user:100删除键
EXPIREEXPIRE session:1 3600设置过期时间(秒)
TTLTTL user:100查看剩余生存时间(秒)
RENAMERENAME old new重命名键

🔹 2. 字符串(String)

命令示例说明
SET / GETSET name "Alice"
GET name
设置/获取值
INCR / DECRINCR counter自增/自减(整数)
MSET / MGETMSET a 1 b 2批量操作
APPENDAPPEND log "new"字符串追加
STRLENSTRLEN name获取字符串长度

🔹 3. 哈希(Hash)

命令示例说明
HSET / HGETHSET user:1 name "Alice"设置/获取字段
HGETALLHGETALL user:1获取所有字段
HDELHDEL user:1 name删除字段
HINCRBYHINCRBY user:1 score 10字段数值增减
HKEYS / HVALSHKEYS user:1获取所有键/值

🔹 4. 列表(List)

命令示例说明
LPUSH / RPUSHLPUSH queue job1左/右插入
LPOP / RPOPLPOP queue左/右弹出
LRANGELRANGE queue 0 -1获取范围元素
LLENLLEN queue列表长度
BLPOPBLPOP queue 0阻塞式弹出(常用于队列)

🔹 5. 集合(Set)

命令示例说明
SADD / SREMSADD tags redis添加/删除成员
SMEMBERSSMEMBERS tags获取所有成员
SISMEMBERSISMEMBER tags redis是否存在
SUNION / SINTERSUNION set1 set2并集 / 交集

🔹 6. 有序集合(Sorted Set, ZSet)

命令示例说明
ZADDZADD rank 100 "Alice"添加带分值成员
ZRANGEZRANGE rank 0 -1 WITHSCORES正序获取
ZREVRANGEZREVRANGE rank 0 2逆序取前 N
ZSCOREZSCORE rank "Alice"获取分值
ZINCRBYZINCRBY rank 10 "Alice"分值增减
ZREMZREM rank "Bob"删除成员

🔹 7. 键空间管理

命令示例说明
EXISTSEXISTS key判断键是否存在
TYPETYPE key查看键类型
RENAMERENAME old new重命名
FLUSHDBFLUSHDB清空当前 DB
FLUSHALLFLUSHALL清空所有 DB(⚠️ 危险!)

🔹 8. 事务与原子操作

命令示例说明
MULTIMULTI开启事务
EXECEXEC提交事务
DISCARDDISCARD取消事务
WATCHWATCH key监视键(乐观锁)

🔹 9. 持久化

命令示例说明
SAVESAVE同步 RDB 快照(阻塞)
BGSAVEBGSAVE异步 RDB 快照
LASTSAVELASTSAVE上次快照时间戳
BGREWRITEAOFBGREWRITEAOF重写 AOF 文件

🔹 10. 主从复制与 Sentinel

命令示例说明
REPLICAOFREPLICAOF 127.0.0.1 6379设置从节点
INFO replicationINFO replication查看复制状态
SENTINEL masters列出主节点(Sentinel 模式)
SENTINEL failoverSENTINEL failover mymaster手动故障转移

🔹 11. Cluster 集群

命令示例说明
CLUSTER INFOCLUSTER INFO集群状态
CLUSTER NODESCLUSTER NODES节点列表
CLUSTER KEYSLOTCLUSTER KEYSLOT user:1键所属槽位
CLUSTER ADDSLOTSCLUSTER ADDSLOTS 0-5460分配槽
CLUSTER MEETCLUSTER MEET 192.168.1.10 6379加入新节点

🔹 12. Pub/Sub 消息系统

命令示例说明
PUBLISHPUBLISH news "hello"发布消息
SUBSCRIBESUBSCRIBE news订阅频道
PSUBSCRIBEPSUBSCRIBE news.*模糊订阅
UNSUBSCRIBE取消订阅

🔹 13. Stream(流队列)

命令示例说明
XADDXADD mystream * user Alice action login添加消息
XRANGEXRANGE mystream - +获取消息范围
XREADXREAD STREAMS mystream 0读取消息
XGROUP CREATEXGROUP CREATE mystream g1 0 MKSTREAM创建消费组
XREADGROUPXREADGROUP GROUP g1 c1 STREAMS mystream >消费消息
XACKXACK mystream g1 1696600000-0确认消费
XPENDINGXPENDING mystream g1待确认消息
XTRIMXTRIM mystream MAXLEN ~ 1000修剪旧消息

🔹 14. Lua 脚本

命令示例说明
EVALEVAL "return redis.call('set','foo','bar')" 0执行脚本
SCRIPT LOAD预加载脚本(返回 SHA1)
SCRIPT EXISTS检查脚本是否已加载

🔹 15. 安全与 ACL

命令示例说明
AUTHAUTH mypass登录认证
ACL LISTACL LIST查看用户列表
ACL SETUSERACL SETUSER readonly on >pass +@read -@write创建/修改用户权限
RENAME-COMMANDRENAME-COMMAND FLUSHALL ""禁用危险命令

🔹 16–20. Redis 模块扩展

🔸 RedisJSON

  • JSON.SET user:1 $ '{"name":"Alice"}'
  • JSON.GET user:1 $.name
  • JSON.NUMINCRBY user:1 $.score 10

🔸 RedisBloom

  • BF.RESERVE filter1 0.01 100000
  • BF.ADD filter1 "user:alice"
  • BF.EXISTS filter1 "user:bob"

🔸 RedisGraph

  • GRAPH.QUERY social "CREATE (:User {name:'Alice'})"
  • GRAPH.QUERY social "MATCH (a:User) RETURN a"

🔸 RedisTimeSeries

  • TS.CREATE temp:1 RETENTION 60000
  • TS.ADD temp:1 * 26.5
  • TS.MRANGE - + FILTER sensor=office

🔸 向量检索(RedisVL / RediSearch)

  • FT.CREATE idx ON HASH SCHEMA vec VECTOR HNSW 6 TYPE FLOAT32 DIM 768 DISTANCE_METRIC COSINE
  • FT.SEARCH idx "*=>[KNN 5 @vec $VEC]" PARAMS 2 VEC $EMBED

🔹 21. 运维与性能

命令示例说明
SLOWLOG GET 10查看慢查询
CLIENT LIST查看客户端连接
CONFIG GET maxmemory获取配置
CONFIG SET maxmemory 4gb动态修改
MONITOR实时命令监控(⚠️ 高开销)

🔹 22. 备份与迁移

命令示例说明
DUMP / RESTOREDUMP keyRESTORE key ttl value序列化/反序列化
MIGRATEMIGRATE host port key 0 5000跨实例迁移

🔹 23. Cluster CLI 工具

命令说明
redis-cli --cluster create初始化集群
--cluster check健康检查
--cluster reshard重新分片
--cluster add-node / del-node节点扩缩容

🔹 24. AI 实战组合

场景命令组合
Prompt 缓存HSET cache:prompt text "..." EX 3600
RAG 向量检索FT.SEARCH idx "*=>[KNN 5 @vec $VEC]"
异步推理队列XADD ai:task * prompt "..."
消费推理结果XREADGROUP GROUP g1 worker1 STREAMS ai:task >

⚙️ 附:生产环境调优建议

类别推荐配置说明
内存策略maxmemory-policy allkeys-lru缓存场景最佳
持久化appendfsync everysec性能与安全平衡
安全requirepass + rename-command禁用 FLUSHALL
网络tcp-keepalive 60防止连接僵死
多线程io-threads-do-reads yesRedis 6+ 提升吞吐
集群超时cluster-node-timeout 10000避免误判节点宕机
日志级别loglevel notice生产环境推荐

💡 结语:Redis 不仅是缓存,更是现代数据基础设施的核心引擎——从 SETFT.SEARCH,从队列到向量检索,它正驱动着 AI 时代的实时数据处理。

添加新评论