Redis 常用数据结构与使用场景

数据结构

image-20221109074226245

使用场景

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

  • 附近的⼈
posted @   BNTang  阅读(125)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示