摘要:
目录 1、redis cluster介绍 2、最老土的hash算法和弊端(大量缓存重建) 3、一致性hash算法(自动缓存迁移)+虚拟节点(自动负载均衡) 不用遍历 --》 hash算法: 缓存位置= hash(key)%n 新增/减少 节点 --》缓存位置失效--》hash环 hash环 节点少- 阅读全文
摘要:
在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果? Redis 和 Memcached 有什么区别?Redis 的线程模型是什么?为什么单线程的 Redis 比多线程的 Memcached 效率要高得多? Redis 都有哪些数据类型?分别在哪些场景下使用比较合适? Redis 的过期策略都 阅读全文
摘要:
一致性Hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1、平衡性(Balance):平衡性是指哈希的结果能够尽可能分布在所有的缓冲(Cache)中去,这样可以使得所有的缓冲空间得到利用。很多哈希算法都能够满足这一条件。 2、单调性(Monotonicity):单调性是指 阅读全文
摘要:
为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点? 如何保证消息队列的高可用? 如何保证消息不被重复消费?(如何保证消息消费的幂等性) 如何保证消息的可靠性传输?(如何处理消息丢失的问题) 如何保证消息的顺序性? 如何 阅读全文
摘要:
1.简单看看servlet 1.1.servlet继承关系 先看看下面servlet的这个继承关系,有点印象即可(可以暂时忽略ServletConfig,这个接口就是让我们可以从web.xml文件中拿到标签中的参数,比如<servlet-name>,<init-param>等标签中的参数) 然后我们 阅读全文
摘要:
首先上测试代码 当浏览器第一次访问http://localhost:8080/boot-crm/test1.action 我们来看控制台和debug输出信息 注意debug显示的当前controller的id 再次访问 从debug提供的信息可以看出多例模式下的controller的id会变化,也就 阅读全文
摘要:
1.1 简介 责任链模式为请求创建一个接收者对象链,每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它会把请求传给下一个接收者,依此类推 责任链模式避免了请求的发送者和接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连成一条链,并且沿着这条链传递请求,直到有对象处理它为 阅读全文
摘要:
1:BlockingQueue的继承关系 java.util.concurrent 包里的 BlockingQueue是一个接口, 继承Queue接口,Queue接口继承 Collection BlockingQueue >Queue-->Collection BlockingQueue即阻塞队列, 阅读全文
摘要:
一、DelayQueue是什么 DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。 二、DelayQueue能做什么 阅读全文
摘要:
数据一致性问题非常多样,下面举一些常见例子。比如在更新数据的时候,先更新了数据库,后更新了缓存,一旦缓存更新失败,此时数据库和缓存数据会不一致。反过来,如果先更新缓存,再更新数据库,一旦缓存更新成功,数据库更新失败,数据还是不一致; 比如数据库中的参照完整性,从表引用了主表的主键,对从表来说,也就是 阅读全文