当前位置: 首页 > 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高压氧舱:氧气疗法的“双生花”如何重塑健康?
  • 数据逆序隐写
  • 贵州黔西市游船倾覆事故最后一名失联人员被找到,但已无生命体征
  • 铁路上海站迎五一返程客流最高峰,今日预计到达75.9万人次
  • 中南财经政法大学法学院党委副书记易育去世,终年45岁
  • 从“土”到“潮”,唢呐何以“圈粉”年轻人
  • 上海与世界|黄菊与上海建设中国式全球城市
  • 五一去哪玩?“时代交响”音乐会解锁艺术假期