java开发工程师
文章平均质量分 85
怪力乌龟
一物不知,深以为耻,便求知若渴。我会在学习过程中,将一些笔记和心得分享。
展开
-
【redission分布式锁】到底要用lock还是tryLock
如果想实现分布式锁请看上一篇文章【上一篇文章留了一个小尾巴,redission的lock方法是会阻塞的,具有一定的风险,意思就是说,这是一个获取锁的方法,但是如果锁已经存在会进行等待。这个等待是没有时间限制的,有兴趣可以看一下源码,利用的是while(true)循环。注解意思是,获取锁,获取不到就等待,但是waitTime耗尽的时候就不再等待,并返回false。跟lock的区别有两个,一是不会无限等待,甚至可以不等待(waitTime设置为0);二是有返回值,代表是否占用锁成功。原创 2024-03-09 15:50:34 · 472 阅读 · 0 评论 -
这样写redission分布式锁才优雅-自定义redission分布式锁注解(含spel表达式)
一个优雅的分布式锁实现方法,开箱即用原创 2024-03-09 15:00:13 · 709 阅读 · 0 评论 -
Spring/SpringBoot实现编程式事务
首先需要了解的是为什么需要编程式事务?声明式事务(@Transactional)明明更简洁好用。声明式事务的缺陷声明式事务表面上简洁好用,但是实际上是牺牲了一些灵活性的,@Transactional注解并不是用在哪里都能生效,@Transactional生效的条件:@Transactional注释的方法,不能是private修饰@Transactional注释的方法,必须是有接口的方法实现(通用的Spring面向接口编程的套路)@Transactional注释的方法,必须要通过接口的方式调用,才原创 2021-10-05 16:14:48 · 1521 阅读 · 0 评论 -
Redis常用命令及用法大全
最近面试了很多java开发,简历上清一色的写着熟练使用redis,但是只能回答redis是什么,缓存雪崩、缓存穿透是什么意思等常见面试问题,就连redis常用命令都说不上来。现在很多框架或者工具都已经封装的很完美,用起来也只是傻瓜式操作,但是作为一个开发者,不能仅仅当一个傻瓜。PS: redis所有命令不区分大小写1. 联通测试启动服务端和客户端之后,首先要进行客户端是否连通服务端,命令如下命令描述ping收到‘pong’说明联通成功2. KEY命.原创 2020-11-04 18:49:47 · 352 阅读 · 0 评论