Redis
文章平均质量分 75
一枚方糖
你的梦想有多远、你就能走多远✨
展开
-
『Redis』常见应用问题 - 分布式锁
文章目录一、分布式锁1.1 问题描述1.2 Redis 实现分布式锁一、分布式锁1.1 问题描述分布式系统中多线程、多进程分配在不同的机器上,使得单机并发锁策略失效。单纯的 Java API 不能提供分布式锁的能力。需要一种跨 JVM 互斥机制来控制共享资源的访问。分布式锁主流方案:数据库缓存 (性能最高)Zookeeper (可靠性最高)1.2 Redis 实现分布式锁1、设置锁和过期时间set age 18 nx ex 60当设置 age 后,其他线程来了只能等待锁释放原创 2022-03-02 20:04:43 · 791 阅读 · 0 评论 -
『Redis』常见应用问题 - 缓存穿透、击穿、雪崩
文章目录一、缓存穿透1.1 概念1.2 具体表现1.3 解决方案二、缓存击穿2.1 概念2.2 具体表现2.3 解决方案三、缓存雪崩3.1 概念3.2 具体表现3.3 解决方案一、缓存穿透1.1 概念在 Redis 中查询不到数据,大量请求直达数据库,导致数据库宕机。1.2 具体表现应用服务器压力过大Redis 命中率降低一直查询数据库1.3 解决方案空值缓存查询数据为空(不管数据存不存在),对空结果(null)缓存并设置过期时间。白名单bitmaps 定义一个白名单,id原创 2022-03-02 17:59:00 · 347 阅读 · 0 评论 -
『Redis』 事务和锁机制
文章目录一、事务1.1 Multi、Exec、Discard1.2 事务错误处理1.3 事务冲突(乐观锁、悲观锁)1.4 事务三特性1.5 模拟秒杀案例1.5.1 超售、超时问题一、事务Redis 事务是隔离操作,所有命令都会序列化 、顺序执行,不会被其他客户端发送的命令打断。主要作用:串联多个命令,防止插队。1.1 Multi、Exec、Discard首先输入 Multi 命令开启事务,所有命令都会进入队列且不执行(组队阶段),直到输入 Exec 后命令依次执行(运行阶段)。组队阶段可通过 d原创 2022-03-02 17:10:02 · 863 阅读 · 0 评论