![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习总结
文章平均质量分 78
对平常学到的一些技术进行整理总结
小杰不秃头
种树最好的时候有两个,一个是十年前,一个是现在。
展开
-
还在写普通的CRUD代码?缓存数据冷热分离、缓存击穿、缓存穿透、双写/读写不一致、服务器雪崩你了解吗?
你是否还在写普通的CRUD代码?是否还在苦恼如何提高自己的代码水平?今天,我们将深入探讨一些高级的缓存策略和数据一致性问题,通过实际案例和解决方案,帮助大家写出更加健壮和高效的代码。原创 2024-06-29 15:42:47 · 545 阅读 · 0 评论 -
【总结】在SpringBoot项目中如何动态切换数据源、数据库?(可直接CV)
本文参考若依源码,介绍了如何在SpringBoot项目中使用AOP和自定义注解实现MySQL主从数据库的动态切换,当从库故障时,能自动切换到主库,确保服务的高可用性。如果服务器搭建的是一主多从多个mysql数据源,主服务器用来读。从服务器用来写。此时你在代码层面用注解指定了一个增删改方法到从数据源,但是碰巧此时从数据源失效了,那么就会自动的切换到其它服务器。原创 2024-06-24 18:42:31 · 810 阅读 · 0 评论 -
【学习总结】SpringBoot中使用单例模式+ScheduledExecutorService实现异步多线程任务(若依源码学习)
最近在学习若依这个开源项目,发现他记录登录日志的时候使用了异步线程去记录日志,觉得这个方案也挺不错的,在此学习记录下来,以后在工作中也能提供一种思路,其他小伙伴如果有觉得不错的方案也可以在评论区里留言,大家一起探讨一下🍭原创 2024-06-11 10:56:03 · 449 阅读 · 0 评论 -
一个注解完美实现分布式锁(AOP)
学习过Spring的小伙伴都知道AOP的强大,本文将通过Redisson结合AOP,仅需一个注解就能实现分布式锁。🍭原创 2024-05-03 18:23:29 · 1064 阅读 · 0 评论 -
【学习总结】使用分布式锁和乐观锁解决“超卖”问题
在商品库存管理中,超卖是指销售数量超过了实际库存数量的情况。这在电商和其他零售业务中是一个常见的问题。使用数据库的乐观锁或悲观锁来确保在读取和更新库存量时的数据一致性。这可以确保在并发操作中,只有一个操作可以成功修改库存。使用如Redis这样的内存数据库来缓存库存数据,从而加速读写操作。但需要注意的是,缓存和数据库之间的数据同步问题。如果你的应用是分布式的,考虑使用分布式锁来确保跨多个实例的库存操作的原子性。使用消息队列来管理库存操作,限制并发的库存更新请求。原创 2024-05-01 15:51:17 · 1383 阅读 · 0 评论 -
SpringBoot优雅地定制JSON响应数据
最近在学习过程中发现了Jackson库的@JsonView也可以改变JSON的输出结构,并且可以更加精细的控制,我平时一般都会定义一些DTO去封装响应数据,使用这种方法可以不用创建DTO,更加优雅且高效的方式来实现。🌈原创 2024-04-29 21:48:49 · 846 阅读 · 2 评论 -
【学习总结】使Aop实现自定义日志注解
我们在平时开发时,往往需要添加各种各样的日志记录,造成业务代码穿插非业务代码,使代码臃肿,业务逻辑不清晰。为了解决这些问题我们可以使用面向切面(AOP)编程的思想,将非业务代码剥离出来。面向切面编程(AOP)是一种重要的编程思想,通过将横切关注点从核心业务逻辑中分离出来,可以提高代码的可维护性、可复用性和可扩展性。原创 2024-04-28 18:57:08 · 728 阅读 · 0 评论 -
【学习总结】封装自定义响应类和全局异常处理
最近整理一下自己平时写项目的一些工具类,在这里分享给小伙伴们,如果有喜欢的自行复制即可,开箱即用。😊@Setter@Getter//成功码.public static final String SUCCESS_MESSAGE = "操作成功";//成功信息.//错误码.public static final String ERROR_MESSAGE = "系统异常";//错误信息.//状态吗!=200 说明有错误.原创 2024-04-28 22:01:16 · 210 阅读 · 0 评论