分布式
文章平均质量分 92
GDUT_Ember
这个作者很懒,什么都没留下…
展开
-
浅谈缓存与数据库的一致性问题
前言面试经常问缓存与数据库的数据如何保持一致性,很有必要研究一下这个问题,首先提前声明,以下分析都是要基于提高吞吐量的前提下进行,要是抛弃吞吐量这个前提,最直接的办法就是上分布式锁,让所有读写请求都串行化,肯定可以解决了数据库的一致性问题,但吞吐量就很显然会下降!本质个人觉得,解决缓存与数据库不一致性的问题可以细分为下面这两个问题操作数据库肯定是更新数据,那么操作缓存是更新数据还是删除数据呢?先操作数据库还是先操作缓存呢?下面我们逐个问题进行分析Cache的写机制和读机制我们首先要对现在原创 2021-11-25 20:24:06 · 797 阅读 · 0 评论 -
Redisson(一):分布式下高并发的问题
Redis分布式锁实现高并发情境下出现的问题锁续命Redis分布式锁为什么要用到分布式锁呢?对于单机项目来说,不需要使用到分布式锁,只要使用自己JVM的锁就够用了,但是当项目搭上了集群之后,同个项目是有几个实例去对外提供服务的,那么就需要使用分布式锁,本质来说分布式锁就是让不同实例之前可以使用同一把锁实现Redis作分布式锁,本质上就是使用了一条set命令setnx key value这个命令的作用是假如key不存在,就如一般的set key value命令一样,只是往数据库添加键值对.原创 2021-10-03 14:53:22 · 1585 阅读 · 0 评论 -
Redisson(二):分布式锁——加锁过程
RedissonRedisson的使用源码分析getLockRedissonLock对象locktryAcquiretryAcquireAsynctryLockInnerAsync总结一下加锁过程Watch dogscheduleExpirationRenewalrenewExpirationrenewExpirationAsyncget方法future.getNow().getLatch().tryAcquire(ttl, TimeUnit.MILLISECONDS);RFuture接口源码解析subs.原创 2021-10-03 14:51:43 · 3323 阅读 · 0 评论