![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
分布式中间件
方二华
这个作者很懒,什么都没留下…
展开
-
基于redis的分布式锁
若给节点增加从节点,从而提高可用性, 但主从同步时仍然可能出现不一致的情况, 如主加锁成功,但在同步前宕机, 从节点变为主,没有锁。锁续命:在获得锁后, 增加一个定时任务,定期检测任务线程是否已执行完成,若未完成,则延长锁的过期时间。解决:加锁时候,value添加唯一标识(uuid), 解锁的时候判断是否是自己加的锁,然后删除锁。问题2:在删除锁逻辑中, 判断是否自己锁和删锁并非原子操作,还是会出现超时后删别人锁的情况。当为了性能,节点部署不多时,节点宕机容易造成半数锁失败,红锁 red lock。原创 2023-04-12 17:01:41 · 123 阅读 · 0 评论 -
分布式缓存问题与解决
5、在update操作时,需要更新数据库,更新缓存两个操作,这两个操作是非原子性的,在两个操作之间,数据库与缓存数据是不一致的,此时的不一致时间还不是很长。--------双写不一致。3、若管理端删除了某个数据,前端还停留在被删数据页面,此时前端请求了已经不存在的数据,缓存查找没有,会访问数据库,前端若一直请求,会持续对数据库造成压力。4、若大量并发瞬间访问了一个冷门数据(无缓存的),请求发现无缓存,会进行缓存重建,大量请求进行缓存重建,对数据库压力较大。------------缓存重建。原创 2023-04-12 17:00:05 · 198 阅读 · 0 评论