Redis 常用数据结构与使用场景
数据结构
使用场景
String
- 计数器
- INCR article:readcount:
- GET article:readcount:
- Web 集群 session 共享
- spring session + Redis 实现 session 共享
- 分布式系统全局序列号
- INCRBY orderId 1000
Hash
- 对象缓存
- HMSET user 1:name gd 1:balance 1888
- 购物车
- 结构:以用户 id 为 key,商品 id 为 field,商品数量为 value
购物车操作:
- 添加商品 hset cart:1001 10088 1
- 增加数量 hincrby cart:1001 10088 1
- 商品总数 hlen cart:1001
- 删除商品 hdel cart:1001 10088
- 获取购物车所有商品 hgetall cart:1001
List
- 微博和微信公号消息流
场景: 张三关注了李四, 王五, 张三发微博,消息 ID 为 10018:
- LPUSH msg:{zs-ID} 10018
王五发微博,ID 为 10086:
- LPUSH msg:{zs-消息ID} 10086
- LRANGE msg:{zs-ID} 0 4
set
-
微信抽奖小程序
- 点击参与抽奖加入集合: SADD key
- 查看参与抽奖所有用户: SMEMBERS key
- 抽取 count 名中奖者: SRANDMEMBER key [count] / SPOP key [count]
-
共同关注的人
Zset
- 实现排行榜
bitmap
- 签到
geo
- 附近的⼈
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具