一、通用核心命令(优先级最高)
| 命令 | 核心作用 | 典型使用场景 |
|---|---|---|
| EXISTS key | 判断键是否存在(返回 1/0) | 操作前先校验键是否存在,避免空操作 |
| DEL key [key...] | 删除一个 / 多个键 | 清理无效数据、缓存失效时删除键 |
| EXPIRE key seconds | 设置键的过期时间(秒) | 验证码、临时缓存、会话存储(如EXPIRE token 1800) |
| TTL key | 查看键剩余过期时间 | 排查缓存过期问题,确认键是否即将失效 |
| TYPE key | 查看键对应值的类型 | 调试时确认数据类型,避免用错命令(如对 String 用 HGET) |
二、字符串(String)核心命令(使用频率最高的数据类型)
| 命令 | 核心作用 | 典型使用场景 |
|---|---|---|
| SET key value [NX/EX] | 设置键值对(NX = 不存在才设,EX = 过期时间) | 存储验证码(SET code 1234 NX EX 60)、用户昵称等 |
| GET key | 获取键的值 | 读取缓存的简单数据(如GET username) |
| INCR key | 数字值自增 1 | 访问量计数器、订单号生成(INCR visit_count) |
| INCRBY key num | 数字值自增指定数 | 批量计数(INCRBY visit_count 10) |
| MSET/MGET | 批量设置 / 获取键值对 | 减少网络 IO,批量读写(MSET a 1 b 2 / MGET a b) |
三、哈希(Hash)核心命令(存储对象首选)
| 命令 | 核心作用 | 典型使用场景 |
|---|---|---|
| HSET key field value | 设置哈希的单个字段 | 存储用户信息(HSET user:1 name 张三 age 20) |
| HGET key field | 获取哈希的单个字段 | 读取对象的某个属性(HGET user:1 name) |
| HGETALL key | 获取哈希所有字段和值 | 读取完整对象(HGETALL user:1) |
| HMSET/HMGET | 批量设置 / 获取哈希字段 | 批量更新 / 读取对象属性(HMSET user:1 email zs@test.com gender 男) |
| HINCRBY key field num | 哈希字段自增 | 更新对象的数字属性(HINCRBY user:1 age 1) |
四、列表(List)核心命令(队列 / 列表场景)
| 命令 | 核心作用 | 典型使用场景 |
|---|---|---|
| LPUSH/RPUSH key value | 左 / 右侧添加元素 | 消息队列(RPUSH msg_queue "新消息")、最新评论列表 |
| LPOP/RPOP key | 左 / 右侧弹出元素 | 消费消息队列(LPOP msg_queue) |
| LRANGE key 0 -1 | 获取列表所有元素 | 读取最新 10 条评论(LRANGE comment:1 0 9) |
五、有序集合(ZSet)核心命令(排行榜专属)
| 命令 | 核心作用 | 典型使用场景 |
|---|---|---|
| ZADD key score member | 添加元素并指定分数 | 排行榜(ZADD rank 95 张三 98 李四) |
| ZREVRANGE key 0 n [WITHSCORES] | 按分数降序取前 n 个元素 | 获取排行榜前 10 名(ZREVRANGE rank 0 9 WITHSCORES) |
| ZSCORE key member | 获取元素的分数 | 查看用户的排行榜分数(ZSCORE rank 张三) |
| ZINCRBY key increment member | 元素分数自增 | 给用户加分(ZINCRBY rank 2 张三) |
六、集合(Set)核心命令(去重 / 交集场景)
| 命令 | 核心作用 | 典型使用场景 |
|---|---|---|
| SADD key member | 添加元素(自动去重) | 存储用户标签(SADD tag:1 java redis) |
| SISMEMBER key member | 判断元素是否在集合中 | 校验用户是否有某个标签(SISMEMBER tag:1 java) |
| SINTER key1 key2 | 获取多个集合的交集 | 查找共同好友(SINTER friend:1 friend:2) |