Redis作为高性能的内存数据库,在Linux环境下通过丰富的命令集实现了高效的数据存储与操作。其命令体系涵盖数据类型操作、持久化控制、集群管理等多个维度,既支持基础的键值对管理,也提供复杂的数据结构处理能力。掌握Redis命令不仅能够提升缓存系统运维效率,还能实现精细化的数据操控。本文将从八个核心方向系统梳理Redis常用命令,结合多平台实践场景解析其功能差异与使用技巧。
一、基础连接与配置命令
Redis服务启动后,需通过客户端工具进行交互。常用连接配置命令包括:
redis-cli
:基础命令行客户端,支持参数-h
指定主机,-p
指定端口,-a
设置密码INFO
:查看服务器运行状态,包含内存使用、连接数、持久化信息等CONFIG GET/SET
:动态调整服务器配置,如修改最大内存maxmemory
、调整并发数maxclients
等
命令组 | 典型命令 | 功能描述 |
---|---|---|
连接控制 | PING/PONG | 检测客户端与服务器连通性 |
配置管理 | CONFIG REWRITE | 重写配置文件以应用运行时修改 |
安全控制 | SHUTDOWN | 安全关闭Redis服务器 |
二、数据类型操作命令
Redis支持五大数据类型,对应不同的操作命令集:
数据类型 | 核心命令 | 扩展功能 |
---|---|---|
字符串(String) | SET/GET/MGET/APPEND | 批量操作、原子递增INCRBY |
哈希(Hash) | HSET/HGET/HGETALL/HINCRBY | 字段批量操作HMGET ,增量计算 |
列表(List) | LPUSH/RPUSH/LPOP/RPOP/LRANGE | 阻塞式弹出BLPOP ,队列长度LLEN |
集合(Set) | SADD/SREM/SISMEMBER/SINTER | 交集运算SINTERSTORE ,随机成员SRANDMEMBER |
有序集合(ZSet) | ZADD/ZREM/ZSCORE/ZRANGE | 权重更新ZINCRBY ,排名查询ZRANK |
三、持久化与备份命令
Redis提供两种持久化机制,对应命令差异显著:
持久化类型 | 核心命令 | 关键参数 |
---|---|---|
RDB快照 | SAVE/BGSAVE | 触发条件save m n ,压缩等级rdbcompression |
AOF日志 | BGREWRITEAOF | 重写策略auto-aof-rewrite-percentage |
混合模式 | SHUTDOWN NOSAVE | 关闭时禁止自动持久化 |
数据备份可通过BGSAVE
生成RDB文件,配合SCRIPT KILL
终止阻塞脚本,或使用COPY
命令创建键空间副本。
四、键管理与过期策略
键空间管理命令包含:
KEYS pattern
:模糊匹配键名,建议使用SCAN
替代避免阻塞DEL/UNLINK
:同步/异步删除键,大批量删除推荐UNLINK
EXPIRE/PEXPIRE
:设置键过期时间,支持TTL
查询剩余生存时间PERSIST
:移除键的过期属性
过期策略 | 配置项 | 影响范围 |
---|---|---|
定时删除 | hz | 频率越高CPU消耗越大 |
惰性删除 | lazyfree-lazy-user-del | 仅访问时触发删除 |
定期抽样 | active-defrag-ignore-bytes | 控制内存碎片整理策略 |
五、高级功能命令
Redis提供事务、管道、Lua脚本等高级特性:
MULTI/EXEC
:事务控制,支持WATCH
监听键变化PIPELINE
:批量发送命令,减少网络开销EVAL/SCRIPT LOAD
:执行Lua脚本,保证原子性操作PUBLISH/SUBSCRIBE
:发布订阅消息系统
功能类型 | 核心命令 | 典型应用场景 |
---|---|---|
事务控制 | DISCARD/UNWATCH | 放弃事务队列或取消WATCH监视 |
脚本管理 | SCRIPT FLUSH | 清空缓存的Lua脚本 |
流控机制 | CLIENT PAUSE | 暂停指定客户端连接 |
六、监控与运维命令
实时监控命令帮助快速诊断问题:
MONITOR
:实时打印接收的命令,生产环境慎用INFO COMMANDSTATS
:查看历史命令执行统计CLIENT LIST/KILL
:管理客户端连接,支持按IP过滤MEMORY USAGE/MEMORY STATS
:分析内存占用,定位大键对象
监控维度 | 命令示例 | 输出特征 |
---|---|---|
延迟分析 | LATENCY HISTORY | 毫秒级延迟分布图表 |
慢日志 | SLOWLOG GET | 记录超时阈值命令详情 |
事件通知 | PUBSUB CHANNELS | 显示当前活跃频道列表 |
七、集群管理命令
Redis集群模式引入新的命令体系:
CLUSTER NODES/INFO
:查看集群拓扑结构,包含主从节点状态CLUSTER MEET/FORGET
:管理节点间通信关系,支持手动添加/移除节点CLUSTER FAILOVER/RESHARD
:故障转移与槽位迁移控制READONLY/READWRITE
:动态切换节点读写模式
操作类型 | 集群命令 | 适用场景 |
---|---|---|
扩容操作 | CLUSTER ADDSLOTS | 新增节点时分配哈希槽 |
缩容操作 | CLUSTER DELSLOTS | 移除节点前迁移数据槽 |
故障恢复 | CLUSTER RESET HARD/SOFT | 强制重置集群元数据 |
>>>>}
【注:此处为排版错误示范,实际应避免颜色标记】
发表评论