⛑️【Redis学习笔记】数据类型篇
type
status
date
slug
summary
tags
category
icon
password
Blocked by
Blocking
AI summary
Redis 常用数据类型总览
1. String(字符串)
数据结构
- int:存储整数值
- SDS(Simple Dynamic String):存储字符串或二进制数据
- embstr:存储小于 44 字节(Redis 5.0)的字符串
- raw:存储大于 44 字节的字符串
常用命令
应用场景
- 缓存对象
- 计数器(如点赞数、阅读数)
- 分布式锁
- 共享 session
2. Hash(哈希)
数据结构
- ziplist(压缩列表):当元素个数小于 512 且值小于 64 字节时使用
- hashtable(哈希表):当元素个数超过配置值时使用
- 在 Redis 7.0 中,ziplist 已被 listpack 替代
常用命令
应用场景
- 存储对象数据
- 购物车系统
3. List(列表)
数据结构
- Redis 3.2 之后统一使用 quicklist 实现
- quicklist 是 ziplist 和 linkedlist 的组合
常用命令
应用场景
- 消息队列
- 最新消息列表
- 文章列表
4. Set(集合)
数据结构
- intset(整数集合):当元素都是整数且元素个数小于 512 个时使用
- hashtable(哈希表):当元素不满足 intset 条件时使用
常用命令
应用场景
- 好友关系
- 点赞功能
- 标签系统
- 抽奖系统
5. Zset(有序集合)
数据结构
- ziplist(压缩列表):元素数量小于 128 且值小于 64 字节时使用
- skiplist(跳跃表)+ hashtable:当元素不满足 ziplist 条件时使用
常用命令
应用场景
- 排行榜
- 带权重的消息队列
- 排序系统
6. 特殊数据类型
Bitmap
- 基于 String 类型的位操作
- 适用于二值状态统计(如签到、在线状态)
HyperLogLog
- 用于基数统计
- 占用空间小,有一定误差率
- 适用于统计网站 UV 等
GEO
- 地理位置信息存储
- 基于 Zset 实现
- 适用于位置服务(如附近的人)
Stream
- Redis 5.0 新增的消息队列
- 支持消费组模式
- 提供持久化和确认机制
Prev
【Redis学习笔记】持久化篇
Next
【Mysql学习笔记】锁篇
Loading...