Skip to content

附录

本文档以表格为主,便于速查;默认语境为单机 Redis 与常见部署场景。


A. 常用命令速查表

A.1 通用命令(KEY 操作)

命令语法说明
DELDEL key [key ...]删除一个或多个键;返回删除的键数量
EXISTSEXISTS key [key ...]判断键是否存在;多键时返回存在的个数
EXPIREEXPIRE key seconds为键设置生存时间(秒)
TTLTTL key查看剩余过期时间(秒);-1 永不过期,-2 不存在
TYPETYPE key返回键的值类型(string / list / set / zset / hash 等)
RENAMERENAME key newkey重命名键;newkey 已存在则覆盖
KEYSKEYS pattern按模式列出键(阻塞,生产慎用);如 KEYS user:*
SCANSCAN cursor [MATCH pattern] [COUNT hint]游标迭代键空间,非阻塞;适合大库遍历

A.2 String

命令语法说明
SETSET key value [EX seconds|PX ms] [NX|XX]设置字符串值;可带过期与 NX/XX 条件
GETGET key获取字符串值
MSETMSET key value [key value ...]批量设置多个键值(原子)
MGETMGET key [key ...]批量获取多个键的值
INCRINCR key将整数值加 1;键不存在时从 0 开始
DECRDECR key将整数值减 1
SETNXSETNX key value仅当键不存在时设置(等价于 SET key value NX
SETEXSETEX key seconds value设置值并指定过期秒数

A.3 Hash

命令语法说明
HSETHSET key field value [field value ...]设置哈希字段;Redis 4.0+ 支持多字段
HGETHGET key field获取哈希中某字段的值
HMSETHMSET key field value [field value ...]批量设置字段(老写法;新环境多用 HSET 多字段)
HGETALLHGETALL key返回哈希全部字段与值
HDELHDEL key field [field ...]删除一个或多个字段
HEXISTSHEXISTS key field判断字段是否存在
HKEYSHKEYS key返回哈希中所有字段名
HVALSHVALS key返回哈希中所有值

A.4 List

命令语法说明
LPUSHLPUSH key element [element ...]从列表左侧压入元素
RPUSHRPUSH key element [element ...]从列表右侧压入元素
LPOPLPOP key [count]从左侧弹出元素
RPOPRPOP key [count]从右侧弹出元素
LRANGELRANGE key start stop按索引范围取子列表(含两端;0 -1 表示全部)
LLENLLEN key列表长度
LINDEXLINDEX key index按索引取单个元素
BRPOPBRPOP key [key ...] timeout阻塞式右侧弹出;可作简单队列消费

A.5 Set

命令语法说明
SADDSADD key member [member ...]向集合添加成员
SMEMBERSSMEMBERS key返回集合全部成员
SISMEMBERSISMEMBER key member判断成员是否在集合中
SCARDSCARD key集合元素个数
SINTERSINTER key [key ...]多个集合的交集
SUNIONSUNION key [key ...]多个集合的并集
SDIFFSDIFF key [key ...]第一个集合相对其余集合的差集
SREMSREM key member [member ...]从集合移除成员

A.6 Sorted Set(有序集合)

命令语法说明
ZADDZADD key [NX|XX] [GT|LT] [CH] score member [score member ...]添加或更新成员及其分数
ZRANGEZRANGE key start stop [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]按排名范围取成员(新版常用子选项较多)
ZREVRANGEZREVRANGE key start stop [WITHSCORES]按排名倒序取范围(老接口;新环境可用 ZRANGE … REV)
ZRANKZRANK key member成员按分数升序的排名(从 0 起)
ZSCOREZSCORE key member获取成员的分数
ZCARDZCARD key有序集合成员数量
ZRANGEBYSCOREZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]按分数区间取成员
ZREMZREM key member [member ...]移除一个或多个成员

A.7 服务器与管理

命令语法说明
INFOINFO [section]查看服务器信息与统计(如 memoryreplication
DBSIZEDBSIZE当前库中的键数量
FLUSHDBFLUSHDB [ASYNC|SYNC]清空当前数据库(危险)
FLUSHALLFLUSHALL [ASYNC|SYNC]清空所有数据库(危险)
CONFIG GETCONFIG GET parameter读取运行配置(支持通配)
CONFIG SETCONFIG SET parameter value运行时修改部分配置(重启可能丢失,视项而定)
SLOWLOGSLOWLOG subcommand [argument]慢查询日志;如 SLOWLOG GET 10

B. redis.conf 关键配置项说明

下列「默认值」以官方发行版常见 redis.conf 为准;不同安装包或 Docker 镜像可能略有差异,以 CONFIG GET 或实际文件为准。

配置项默认值(常见)说明
bind127.0.0.1 -::1监听的网卡地址;仅本机可连时较安全;对外服务需改为相应 IP 或 0.0.0.0(须配合防火墙与密码)
port6379TCP 监听端口
requirepass空(无密码)客户端 AUTH 所需密码;生产强烈建议启用
maxmemory0最大可用内存;0 表示不限制(受系统内存约束)
maxmemory-policynoeviction内存达上限时的策略:如 allkeys-lruvolatile-lruallkeys-randomvolatile-ttlnoeviction
save多条 RDB 条件save 900 1 表示 900 秒内至少 1 个键变化则快照;save "" 可关闭 RDB
appendonlyno是否开启 AOF 持久化
appendfsynceverysecAOF 刷盘策略:always(最安全最慢)、everysec(折中)、no(交操作系统)
aof-use-rdb-preambleyes(新版常见)AOF 重写时是否使用 RDB 作为前缀,加快恢复与压缩
timeout0客户端空闲多少秒关闭连接;0 表示不超时
tcp-keepalive300(版本间可能不同)TCP keepalive 间隔(秒),用于检测死连接
databases16逻辑库个数(SELECT 0SELECT N-1
replicaof无(主节点)从节点配置:replicaof <masterip> <masterport>;旧版为 slaveof
masterauth从节点连接主节点时的认证密码(主节点若设置了 requirepass)
protected-modeyes保护模式:无密码且 bind 非本机时拒绝外部写等,降低误暴露风险

Sentinel 说明sentinel monitor 等并非写在 redis.conf 中,而在 sentinel.conf(或启动参数)里配置,例如:sentinel monitor <master-name> <ip> <port> <quorum>,用于监控主节点、故障转移。主从复制本身用节点上的 replicaof / replica-read-only 等项。


C. 推荐学习资源

类型名称 / 地址说明
官方文档Redis 官方文档命令参考、持久化、集群、模块等一手资料;英文为主,更新及时
官方交互教程Try Redis(try.redis.io)浏览器内练习基础命令,适合入门热身
书籍《Redis 设计与实现》(黄健宏)偏内部实现:数据结构、持久化、复制等,适合想深入原理的读者
书籍《Redis 实战》(Josiah L. Carlson)偏应用模式:缓存、任务队列、搜索等场景(中文版为译著)
博客 / 教程搜「Redis 官方文档」+ 具体主题(如 persistence、cluster)结合版本号阅读;避免只看过时 3.x 文章处理 7.x 行为
源码与发行说明Redis GitHub发行说明(Release notes)对行为变更有权威说明

文档版本说明:命令子选项随 Redis 主版本可能增减,请以当前实例 COMMAND DOCS <cmd> 或官方文档为准。

坚持是一种品格