读优化:当请求命中缓存后,可直接返回,从而略过IO读取,减小读的成本。
写优化:将写操作在缓冲中合并,让IO设备可以批量处理,减小写的成本。
由于中间件或者网络等问题,缓存失效失败。
出现意外的缓存失效、读取的时序。
延迟双删:主线程失效缓存后,将失效指令放入延时队列,另一个线程轮询队列获取指令并执行。
CDC同步:通过canal订阅MySQL binlog的变更,上报给Kafka,系统监听Kafka消息触发缓存失效。
NoPadding {
long no0;
long no1;
}
Padding {
long p1, p2, p3, p4, p5, p6, p7;
volatile long no0 = 0L;
long p9, p10, p11, p12, p13, p14;
volatile long no1 = 0L;
}
@sun.misc.Contended static final class CounterCell {
volatile long value;
CounterCell(long x) { value = x; }
}
Alibaba Java 技术图谱
Alibaba Java 是由“Java课程专家组”倾力打造的行业权威图谱,共11个知识点,35门课程 ,近千课时,3个体验场景,19场公开课。从新手入门到初、中、高级工程师进阶,从理论学习到实践应用,一张图谱讲透Java !