自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring cloud五大核心组件

2、Ribbon/Feign 负载均衡/服务调用。5、SpringConfig 分布式配置中心。4、Gateway/Zuul 网关服务。1、Eureka 注册中心。3、Hystrix 熔断器。

2024-04-27 22:00:45 91

原创 springcloud&alibaba核心组件

2、sentinel 流量控制和熔断降级框架。1、nacos 注册中心和配置中心。4、seata 分布式事务框架。

2024-04-27 21:54:24 91 1

原创 sql优化

2、低版本5.0之前避免使用or。8、避免使用join关联太多表。7、优化子查询,小表驱动大表。1、避免select *9、利用索引扫描做排序。4、适当使用前缀索引。5、避免列上函数运算。6、正确使用联合索引。

2024-04-21 19:49:08 100 1

原创 mysql是否使用索引

如果查询使用了索引,EXPLAIN输出中的type字段会显示index,possible_keys会列出可能使用的索引,key字段会显示实际使用的索引。MySQL是否使用索引取决于查询和表的结构。如果查询可以通过索引优化,MySQL会自动使用索引。你可以通过EXPLAIN语句来分析查询是否使用了索引。这将强制MySQL使用last_name_index索引,即使它可能认为有更好的选择。这将告诉MySQL忽略last_name_index索引,即使它可能适用。

2024-04-21 11:35:20 257 1

原创 jvm如何判断对象是否存活

基本思路是通过一系列称为"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明这个对象是不可达的,即不可用。引用计数算法:每个对象有一个引用计数属性,当有一个地方引用该对象时,计数加一,引用失效时,计数减一。在这个例子中,objA.instance和objB.instance之间互相引用,但是objB没有任何其他引用指向它,所以在垃圾收集器运行时,它是可以被回收的,即它不是活跃对象。方法区中的类静态属性引用的对象。

2024-04-21 11:28:06 505 1

原创 如何保证mysql和redis数据一致性

在高并发应用场景下,如果是对数据一致性要求高的情况下,要定位好导致数据和缓存不一致的原因。另外,设置缓存的过期时间是保证数据保持一致性的关键操作,需要结合业务进行合理的设置。解决高并发场景下数据一致性的方案有两种,分别是双删策略和异步更新缓存两种方案。先删除redis缓存,然后保存mysql数据,再删除redis缓存。先保存mysql数据,然后通过消息队列异步更新redis缓存。

2024-04-21 11:23:17 72 1

原创 如何确保redis分布式锁失效之前,保证业务已经执行完

这样也存在一个问题,加入一个线程拿到了锁设置了30s超时,在30s后这个线程还没有执行完毕,锁超时释放了,就会导致问题,Redisson给出了自己的答案,就是 watch dog 自动延期机制。Redisson提供了一个监控锁的看门狗,它的作用是在Redisson实例被关闭前,不断的延长锁的有效期,也就是说,如果一个拿到锁的线程一直没有完成逻辑,那么看门狗会帮助线程不断的延长锁超时时间,锁不会因为超时而被释放。超过这个时间后锁便自动解开了,不会延长锁的有效期。

2024-04-21 11:12:39 393 1

空空如也

空空如也

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

TA关注的人

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