redis--002

1.String 字符串

  • Redis 最基础类型,可以存字符串、数字、二进制。

  • 命令 表格

    命令 功能
    SET key value 设置
    GET key 获取
    SETNX key value 不存在才设置(分布式锁)
    SETEX key seconds value 设置 + 过期时间
    INCR / INCRBY 数字自增
    MSET / MGET 批量设置、批量获取
  • 编码:int、embstr、raw;数字用 int,短字符串 embstr,长字符串 raw。

  • 场景:缓存、计数器、验证码、分布式锁。

2.List 列表(双向链表)

  • 有序,允许重复元素,两头操作极快,中间索引遍历慢。

  • 命令 表格

    命令 功能
    LPUSH key val 左边插入
    RPUSH key val 右边插入
    LPOP / RPOP 左右弹出
    LRANGE key start end 范围查询
    LLEN key 获取长度
    BLPOP / BRPOP 阻塞弹出(消息队列)
  • 底层:quicklist(压缩列表 ziplist + 双向链表)

  • 场景:消息队列、时间线。

3.Hash 哈希

  • key‑field‑value 结构,适合对象存储。

  • 命令 表格

    命令 功能
    HSET key field val 设置字段
    HGET key field 获取单个字段
    HGETALL key 获取全部字段
    HDEL key field 删除字段
    HINCRBY 字段数字自增
  • 编码:ziplist(元素少、值短),hashtable(哈希表)。

  • 场景:存储用户对象。

4.Set 集合

  • 无序,元素不重复。

  • 命令 表格

    命令 功能
    SADD key member 添加
    SREM key member 删除
    SMEMBERS key 取出全部
    SCARD key 元素数量
    SISMEMBER 判断是否存在
    SINTER / SUNION / SDIFF 交集、并集、差集
  • 底层:intset(全数字)、hashtable。

  • 场景:好友、标签、去重。

5.SortedSet 有序集合 ZSet

  • member 唯一不重复,带 score 分数,按 score 排序;底层:跳表 SkipList + hash 表
  • 特性:可排序、元素不重复、查询速度快。

注意:member 不能重复,score 允许重复;score 相同按 member 字典序排序。

  • 常用命令 表格

    命令 功能
    ZADD key score member 添加,存在就更新 score
    ZREM key member 删除成员
    ZSCORE key member 获取分数
    ZRANK key member 升序排名(下标从 0)
    ZREVRANK 降序排名
    ZCARD 元素总数
    ZCOUNT min max 统计区间 score 数量
    ZINCRBY score 自增
    ZRANGE min max [WITHSCORES] 按排名升序取
    ZREVRANGE 按排名降序取
    ZRANGEBYSCORE 按 score 范围查询
    ZDIFF ZINTER ZUNION 差集、交集、并集

降序规则:原命令 Z 后加 REV;WITHSCORES返回同时带出分数。

  • 编码:ziplist(数量少、内容短),超过阈值切换跳表 + hash。
  • 场景:排行榜。

##6. 五种数据类型对比

表格

类型 是否可重复 是否有序 底层 典型场景
String value 可重复 无序 sds 简单动态字符串 缓存、计数器
List ✅允许重复 插入有序 quicklist 消息队列
Hash field 不重复 无序 ziplist/hashtable 对象存储
Set ❌不重复 无序 intset/hashtable 好友、去重
ZSet member 不重复 score 排序 skiplist+hash 排行榜
相关推荐
小南家的青蛙21 分钟前
基于Spring Boot 2.x开发的微服务访问Redis的方案
redis·springboot
bksczm1 小时前
Redis 持久化:RDB 快照与 AOF 日志
数据库·redis·mybatis
.痞老板.1 小时前
mysql初阶--数据库设计
数据库·mysql·oracle
Decay__3 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Thanks_ks3 小时前
SQL 的 GROUP BY 与聚合函数:从会写 SELECT 到会做统计
数据库·sql·mysql·group by·数据统计·聚合函数·having
IT规划师3 小时前
Redis 数据类型全解 - Stream 深度:消费者组、Pending 队列与死信处理(十)
redis·.net
Decay__11 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
笃行35012 小时前
AI数据库的库内四层结构,KingbaseES 产品拆解
数据库
我是大猴子13 小时前
redis
数据库·redis·缓存
苏宸啊15 小时前
MySQL(一)
数据库·mysql