自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 Redis来实现缓存与分布式锁(击穿和穿透讲解)

什么数据适合放入缓存 即时性、数据一致性要求不高的 访问量大且更新频率不高的数据 缓存穿透-高并发下缓存失效问题 指查询一个一定不存在的数据,由于缓存是不命中,将要去查询数据库,但是数据库也没有该记录,我们将这次查询的null写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 风险:利用不存在数据进行攻击,数据库瞬时压力增大,最终导致崩溃。 解决:null结果缓存,并加入短暂过期时间。 缓存雪崩-高并发下缓存失效问题 缓存雪崩:缓存雪崩是指我们设置缓存时key采用

2022-03-28 17:31:34 1073

原创 {锁}、Lock锁与Synchronized锁的区别

1. 原始构成 synchronized是关键字,属于JVM层面,底层jdk帮我们封装好了,lock是基于aqs封装的锁。 Lock是具体类,是api层面。可以完全人为控制获取锁,释放锁,扩展性非常高。 2.使用方法 synchronized不需要用户手动释放锁,当synchronized代码执行完毕系统会自动让线程释放锁。 Lock则需要用户去手动释放,若没有主动释放,就可能导致死锁。 3.等待是否可中断 synchronized不可中断,除非抛异常。 Lock可中断 4.加锁是否公平 sy

2022-03-21 19:21:53 169

原创 IOC和API

个人理解 IOC:控制反转(DI依赖注入),将以前由我们自己手动创建对象的过程交给了Spring,Spring帮助我们生产对象、管理对象、管理对象和对象之间的依赖关系。降低了代码的耦合度,方便我们后期对项目做维护。 三种注入方式: 1.setter注入 2.构造器注入 3.属性注入(注解) @Autowired:默认根据类型进行匹配 @Resource:首先根据名称进行匹配,再根据类型进行匹配 自动装配autowire属性 AOP:面向切面(方便)编程,可以为某一类对象 进行监督和控制,也就是在调用

2022-02-28 09:17:37 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除