悲观锁、乐观锁、MySQL和Redis
这个话题算是很多了,关键字:“悲观锁”,“乐观锁”,“Pessimistic and optimistic locking”,相关文章一搜一大把,这里我也懒得再写一遍,关于原理复制粘贴就差不多了,重点是自己做了一遍测试,深切的体会了不同锁的区别。
这个话题算是很多了,关键字:“悲观锁”,“乐观锁”,“Pessimistic and optimistic locking”,相关文章一搜一大把,这里我也懒得再写一遍,关于原理复制粘贴就差不多了,重点是自己做了一遍测试,深切的体会了不同锁的区别。
由于Redis命令方式运算能力比较薄弱,所以往往采用Redis Lua去代替它原有的命令方式。Redis Lua在Redis的执行中是具备原子性的,当它被执行时不会被其他客户端发送过来的命令打断,通过这样一种机制可以在需要高并发的环境下考虑使用Redis去代替数据库。如果只是单纯的使用脚本其实不能debug也不所谓,直接print也能解决大部分问题了,但Lua作为嵌入式语言,一旦被集成到其他环境中调试起来就比较麻烦了。这里我也是摸索了一会才用起来,记录下。
RestTemplate的封装已经很完善了,基本使用是不用处理的,直接用即可。但是实际使用中不仅仅是调用一下接口而已,可能还有其它的操作,比如最常见的记录请求和响应日志或者一些加密处理,这种随处可能存在的调用用AOP实现不是很友好,将其封装为Util是我认为比较合适的方法。
一直对Spring的AOP功能敬而远之,总是用,却从没想过去了解它。想学习下JDK的动态代理,顺便的了解了下AOP,发现其实不算很难,但是设计的是真的妙啊。
很多时候需要转换List为String,以逗号分隔,有可能还不需要括号,这里记录下常用的两种转换方法。