- 博客(4)
- 收藏
- 关注
原创 Redis中的缓存穿透、雪崩、击穿的原因以及解决方案(详解)
①缓存穿透:大量请求根本不存在的key(下文详解)②缓存雪崩:redis中大量key集体过期(下文详解)③缓存击穿:redis中一个热点key过期(大量用户访问该热点key,但是热点key过期)对空值进行缓存设置白名单使用布隆过滤器网警进行预先的热门词汇的设置,进行key时长的调整实时调整,监控哪些数据是热门数据,实时的调整key的过期时长使用锁机制进行预先的热门词汇的设置,进行key时长的调整实时调整,监控哪些数据是热门数据,实时的调整key的过期时长。
2024-08-20 17:04:05
732
原创 Docker - 使用Docker Compose部署应用
背景Docker Compose的前身是Fig。Fig是一个由Orchard公司开发的强有力的工具,在内部实现上,Fig会解析YAML文件,并通过Docker API进行应用的部署和管理。在2014年,Docker公司收购了Orchard公司,并将Fig更名为。命令行工具也从fig更名为docker-compose,并自此成为绑定在Docker引擎之上的外部工具。虽然它从未完全集成到Docker引擎中,但是仍然受到广泛关注并得到普遍使用。安装与卸载这里介绍在Linux上安装Docker。
2024-08-19 16:25:50
678
原创 线程池的执行流程
3.如果线程池里面存活的线程数已经等于核心线程数了,且阻塞队列已经满了,再会去判断当前线程数是否已经达到最大线程数 maximumPoolSize,如果没有达到,则会调用 addWorker() 方法创建一个非核心线程去执行任务;1.提交任务后会首先进行当前工作线程数与核心线程数的比较,如果当前工作线程数小于核心线程数,则直接调用 addWorker() 方法创建一个核心线程去执行任务;4.如果当前线程的数量已经达到了最大线程数时,当有新的任务提交过来时,会执行拒绝策略。
2024-08-16 16:07:46
892
原创 Redis的分布式锁详解
(3)为了有效解决既保证锁完全有效性 和 性能高效问题:antirez又提出了“延迟重启”的概念,redis同步到磁盘方式保持默认的每秒1次,在redis崩溃单机后(无论是一个还是所有),先不立即重启它,而是等待TTL时间后再重启,这样的话,这个节点在重启前所参与的锁都会过期,它在重启后就不会对现有的锁造成影响,缺点是在TTL时间内服务相当于暂停状态;分布式事务锁中,为了能够让作为中心节点的存储节点获取锁的持有者,从而避免锁被非持有者误解锁,每个发起请求的 client 节点都必须具有全局唯一的 id。
2024-08-13 14:41:03
971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人