摘要: # 1. Redisson简介 Redisson:是一个高级的分布式协调Redis客服端 , 专注于分布式系统开发,让用户可以在分布式系统中很方便的去使用Redis # 2. 环境搭建 ## 2.1 加入依赖 ```xml org.redisson redisson 3.17.7 ``` ## 2. 阅读全文
posted @ 2023-08-14 00:03 摆烂ing 阅读(174) 评论(0) 推荐(0)
摘要: # 1. 分布式锁作用 解决缓存击穿问题 # 2. 分布式锁思想 加锁:就是去存储一个数据,如果一个线程可以把数据存储成功,就说明当前线程获取到了锁;存储不成功,就说明当前线程没有获取到锁。 解锁:删除数据 # 3. 常用技术 mysql,redis,zookeeper是常用的分布式锁技术 加锁对性 阅读全文
posted @ 2023-08-09 16:34 摆烂ing 阅读(27) 评论(0) 推荐(0)
摘要: 1. lock.lock():获取锁,如果没有获取锁就让当前线程阻塞 2. lock.tryLock():尝试的获取锁,如果获取到锁就返回true,没有获取到锁就返回false 阅读全文
posted @ 2023-08-07 17:35 摆烂ing 阅读(28) 评论(0) 推荐(0)
摘要: # 布隆过滤器 ## 1. 作用 判断某一个值是否存在 ## 2. 组成 很长的二进制数组和一系列hash函数 ## 3. 使用 使用hash函数对该值进行hash运算,并将布隆过滤器中相应的位置设置为1 ## 4. 判断某一个数据在布隆过滤器中是否存在 对该值使用布隆过滤器的一系列hash函数进行 阅读全文
posted @ 2023-08-07 17:03 摆烂ing 阅读(28) 评论(0) 推荐(0)
摘要: # 方法一 在Spring Boot项目中可以使用`@PostConstruct`注解 # 方法二 实现`InitializingBean`接口并重写`afterPropertiesSet`方法 阅读全文
posted @ 2023-08-06 17:36 摆烂ing 阅读(37) 评论(0) 推荐(0)
摘要: # 1. 内存溢出问题 1. 适当加大内存 2. 移除容器中不经常使用的对象 3. 尽量不要将容器定义为成员变量 4. 考虑熔断以及降级 # 2. 线程安全问题 例:count++,count++操作不是一个原子性操作,也就是说在某一个时刻对某一个操作的执行,有可能被其他的线程打断 1. 加锁syn 阅读全文
posted @ 2023-08-04 11:31 摆烂ing 阅读(52) 评论(0) 推荐(0)
摘要: getInstance指实例化。 getInstance在单例模式(保证一个类仅有一个实例,并提供一个访问它的全局访问点)的类中常见,用来生成唯一的实例,getInstance往往是static的。一般用于比较大、复杂的对象,只初始化一次,而getInstance保证了每次调用都返回相同的对象。 ( 阅读全文
posted @ 2023-08-04 09:33 摆烂ing 阅读(54) 评论(0) 推荐(0)
摘要: ```java // 读取数据 //接下来的一次查询会主动路由给主库,而不用从库负载均衡 HintManager.getInstance().setWriteRouteOnly(); //强制主库路由 SkuImage skuImageDb = skuImageMapper.selectById(s 阅读全文
posted @ 2023-08-04 08:37 摆烂ing 阅读(72) 评论(0) 推荐(0)
摘要: 1. 加依赖 ```xml org.apache.shardingsphere shardingsphere-jdbc-core-spring-boot-starter 5.1.2 ``` 2. 创建新的配置文件application-sharding.yml,在application.yml中导入 阅读全文
posted @ 2023-08-03 00:10 摆烂ing 阅读(269) 评论(0) 推荐(0)
摘要: 1. 降级逻辑定义 ```java @Slf4j @Component public class CategoryFeignClientFallBack implements CategoryFeignClient { @Override public Result> findAllCategory 阅读全文
posted @ 2023-07-15 12:18 摆烂ing 阅读(16) 评论(0) 推荐(0)