当前位置: 首页 > news >正文

Redis 核心应用场景

  1. 高性能缓存
    Redis 作为内存数据库,读写性能可达10万+ QPS,适合缓存热点数据(如商品详情、用户会话),显著降低数据库压力。通过设置过期时间(TTL)自动清理非热点数据,推荐结合allkeys-lru或volatile-lfu淘汰策略优化内存使用。适合电商秒杀、新闻首页等高并发场景。

经典实现:
python
data = redis.get(“product:123”)
if not data:
data = db.query(“SELECT * FROM products WHERE id=123”)
redis.setex(“product:123”, 3600, data) # 缓存1小时

  1. 实时排行榜与计数器
    利用有序集合(ZSET)可快速实现点击榜、销量榜等动态排序场景,通过ZINCRBY更新分数,ZREVRANGE获取TOP N数据。计数器场景(如文章阅读量)则使用INCR保证原子性操作,避免并发冲突。

示例:
redis
ZADD leaderboard 1000 “user1” # 用户得分更新
ZREVRANGE leaderboard 0 9 WITHSCORES # 获取TOP10

  1. 分布式锁与限流
    通过SETNX+过期时间实现跨进程互斥锁,解决分布式系统资源竞争问题。结合EXPIRE防死锁,Lua脚本保证原子性。限流场景(如API防刷)使用INCR+EXPIRE统计单位时间请求量。

锁实现:
redis
SET lock:order 1 NX EX 30 # 获取锁,30秒自动释放

  1. 消息队列与发布订阅
    List结构实现简单队列(LPUSH/RPOP),适合异步任务(如邮件发送)。Pub/Sub模式支持实时消息广播(如聊天室、订单状态通知),但需注意消息无持久化。

队列示例:
redis
LPUSH task_queue “send_email:user@example.com”
BRPOP task_queue 30 # 阻塞式消费

  1. 社交关系与去重
    集合(SET)存储用户关注列表、好友关系,通过SINTER/SDIFF计算共同好友或推荐列表。HyperLogLog实现低成本UV统计(误差<1%),Bitmap标记用户签到等二值状态。

UV统计:

redis

PFADD page:uv “user1” “user2” # 添加用户
PFCOUNT page:uv # 估算UV

  1. 会话共享与分布式Session
    将用户Session集中存储于Redis,解决集群环境会话一致性问题。相比Memcached,Redis支持持久化和高可用,适合微服务架构。

Session存储:

java

// Spring Session配置
@EnableRedisHttpSession
public class Config {
@Bean
public RedisConnectionFactory factory() {
return new LettuceConnectionFactory();
}
}

选型建议
缓存/会话:优先String/Hash
排行榜:必选ZSET
并发控制:SETNX+Lua
实时消息:List/PubSub(需ACK选专业MQ)
大数据处理:HyperLogLog/Bitmap
避免场景:复杂事务、多表关联查询、大Key(>1MB)。

相关文章:

  • rsync实现内网两台服务器文件同步
  • 【含文档+PPT+源码】基于SpringBoot+Vue的移动台账管理系统
  • 卷积神经网络:视觉炼金术士的数学魔法
  • 【C++】二叉树进阶面试题
  • 【mongodb】系统保留的数据库名
  • CIFAR10图像分类学习笔记(三)---数据加载load_cifar10
  • 从代码学习深度学习 - 图像增广 PyTorch 版
  • AI工程pytorch小白TorchServe部署模型服务
  • Linux 基础命令入门指南
  • Java函数式编程深度解析:从Lambda到流式操作
  • R-CNN,Fast-R-CNN-Faster-R-CNN个人笔记
  • TiDB 深度解析与 K8S 实战指南
  • PowerBI企业运营分析——全动态帕累托分析
  • JavaScript 的“世界模型”:深入理解对象 (Objects)
  • uniappx 打包配置32位64位x86安装包
  • UML 活动图深度解析:以在线购物系统为例
  • 游戏开发核心技术全景解析——从引擎架构到网络安全防护体系
  • LeetCode每日一题4.24
  • 微高压氧舱VS高压氧舱:氧气疗法的“双生花”如何重塑健康?
  • 数据逆序隐写
  • 李家超称香港将部署为内地企业提供供应链服务,突破美国封锁
  • 中宣部版权管理局:微短剧出海面临版权交易不畅、海外维权较难等难题
  • “2025上海西九文化周”启动,香港顶尖文艺6月齐聚申城
  • 西安市优化营商环境投诉举报监督平台上线,鼓励实名检举控告
  • 小鹏机器人IRON亮相上海车展,何小鹏:相信更多人形机器人会现身车展
  • 乌克兰关切有中国人在俄军中服务,外交部:坚决反对无端指责