![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
缓存
文章平均质量分 85
天涯人6
这个作者很懒,什么都没留下…
展开
-
多级缓存分析篇(三) Spring本地缓存源码分析
上篇讲了Redis的分布式锁,这篇讲下Spring本地缓存策略,对源码稍作分析,以便设计多级缓存了解需要注意的细节坑,比如本地缓存和redis缓存的失效时间冲突等。1 spring-data系列说明日常开发中,一般都会需要框架对各种主流数据源的支持,spring官方就是利用了仓储动态代理机制,基于AbstractFactory(抽象工厂)、Adapter(适配器)、Template(模板)、Strategy(策略)、Visitor(访问者)多种设计模式,提供了spring-data-*这样一..原创 2022-01-23 23:20:04 · 964 阅读 · 0 评论 -
多级缓存分析篇(二) 常用分布式锁分析
上篇主要讲了日常经常使用的哪些redis包及其配置的差异,这篇对基于redis的分布式锁,主要分享下自定义锁和redisson锁的使用和分析。1.(自定义)Redis分布式锁对于redis来说,非常适合做分布式锁来控制各个服务并发请求下造成的变量不一致、会串的问题。zookeeper锁其实也可以但不是很推荐,毕竟zk客户端是有某节点宕机自愈后、数据分发不同步的问题。Redis锁的原理其实就是SETNX的原子性控制,建议一定要 设定超时时间,防止资源竞争过于激烈导致线程长时间获取不到锁、发生.原创 2022-01-23 21:23:37 · 666 阅读 · 0 评论 -
多级缓存分析篇(一) 多种Redis Client配置异同
1 导言 我们常常需要在项目里考虑使用Redis来做一些数据的缓存、比如存储较为静态化的数据或设计二级缓存来减少API接口QPS过大对服务端的压力、避免对后台数据库造成冲击甚至压垮。Redis是简单的KV分布式数据库,很好的避免了单机的Java锁不能解决的问题,所以很受青睐。因此,对Redis和本地缓存的理解非常重要,开发人员日常可能偏重于使用,缺乏分析原理性。因此,考虑写这个篇章分享经验所得,期望能给到参考。 官方文档redis中文官方网站还是首要推荐大家去学习,只有理解了原理,才能融会贯通...原创 2022-01-23 21:16:52 · 613 阅读 · 0 评论 -
Redis集群环境下的分布式事务问题探究
近日,从部署在PaaS平台上的java项目日志中发现每次前台按钮触发后会抛出redis释放锁的自定义的异常信息,回查代码发现是由于使用了自定义的Redis分布式锁(RedisLock工具类)过程中,在自定义的释放锁的方法中本打算使用watch()、multi()和exec()方法组成的事务来实现乐观锁控制(Redis事务没有回滚操作),结果发现并不可以直接用,否则会在PaaS平台的Red...原创 2018-12-22 01:43:26 · 3882 阅读 · 2 评论