03 2021 档案
摘要:1 哨兵模式的缺陷 在哨兵模式中,仍然只有一个Master节点。当并发写请求较大时,哨兵模式并不能缓解写压力。 我们知道只有主节点才具有写能力,那如果在一个集群中,能够配置多个主节点,是不是就可以缓解写压力了呢? 答:是的。这个就是redis-cluster集群模式。 2 Redis-cluster
阅读全文
摘要:缓存雪崩 缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是, 缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。 解决方法 缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。 如果缓存数据库
阅读全文
摘要:一 分布式锁的演进 使用setnx命令,在SpringBoot中为setIfAbsent,最简单的代码如下: 当然上述代码会存在问题,如A服务在执行到中间时抛异常,则不能释放这个锁,加上try-catch-finally,如下: 但是如果在中间的时候直接断掉,则仍然不能释放锁,加上锁的自动释放时间,
阅读全文
摘要:1 Hash算法 HashMap里的k-v值如何计算得到索引:先看算法如下,以jdk1.8为例: int index = hash & (arrays.length-1); hash为key的HashCode计算得到的,为什么HashMap的数组长度是2的整数幂呢,因为,以初始长度为16为例,16-
阅读全文

浙公网安备 33010602011771号