Redis 业务场景
更新: Invalid Date 字数: 0 字 时长: 0 分钟
redis 在项目中的应用场景有哪些?
Redis 本质是一个基于内存的 key-value 缓存数据库,基于此,redis 常有的应用场景有:
- 缓存:常用于热点数据和查询数据的缓存,减少数据库的压力
- 分布式锁:防止重复提交;防止超卖;保证分布式环境下的互斥
- 限流:利用计数器和 lua 脚本实现接口限流、短信发送限制、登录失败次数限制等
- 消息队列:利用 List 和 Redis Stream 实现消息队列,用于异步任务和流量削峰
- 计数器/统计:访问量统计;点赞数统计;浏览次数统计;
- 排行榜: 利用 Zset(有序集合)实现(支持按 score 排序);
- 分布式共享数据的访问
Redis 单线程为什么还能支撑十万 QPS?
Redis 单线程仍然能支撑十万级 QPS,核心原因是:
- 基于内存操作
- I/O 多路复用模型
- 单线程执行命令避免了锁竞争和上下文切换,在 I/O 密集场景下效率更高。
- Redis 使用高度优化的数据结构,并采用 C 语言实现,进一步提升了性能。
- Redis 6 之后网络 I/O 支持多线程,但命令执行仍然是单线程。
