自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

空空如也

redis事务回滚工具

github地址:https://github.com/SongTing0711/redis-transaction 博客地址:https://blog.csdn.net/m0_69270256/article/details/124164125?spm=1001.2014.3001.5502 基于SpringBoot的轻量级redis事务回滚机制,使用栈和ThreadLocal记录业务链的redis操作,发生异常进行回滚,参考了阿里巴巴Seata AT模式的db回滚策略:补偿回滚,记录前镜像与当前操作语句,反向解析生成补偿动作。 1、目前支持链接redis的工具主要是Redisson、RedisTemplate、StringRedisTemplate,默认Redisson 2、进行回滚时需要考虑是否要进行查询前镜像,可以通过设置RedisTransactionCommonUtil的QUERY_PREV属性 3、需要使用RedisTransactionCacheUtils操作需要回滚的redis数据,此时加入threadlocal

2023-05-24

基于redis的java分布式代理锁

分布式代理锁,动态的锁后缀采用ThreadLocal或者参数名获取 锁粒度自定义选择,目前实现基于redis,后续扩展zk等 SpringBoot,默认使用redisson链接redis,可以更改注解参数使用Spring redis工具 key分为:无后缀、参数中获取、使用ThreadLocal获取 代码地址:GitHub - SongTing0711/distributed-proxy-lock 博客地址:https://blog.csdn.net/m0_69270256/article/details/124927336?spm=1001.2014.3001.5502

2023-05-24

基于加权计数器限流算法的java计算限流工具

代码地址:https://github.com/SongTing0711/count-limit 博客地址:https://blog.csdn.net/m0_69270256/article/d 许多需求计算量都在扩大, 针对大容量、高并发的接口、mq或者其他计算方法,同一时间在运行的计算维度进行限制,相当于把资源到计算的对象维度。 不同于参数限制,工具针对的是服务所有线程对于该计算维度的限流。 与市面上开源的限流工具(如谷歌的RateLimiter令牌桶限流、京东HotKey的滑动窗口限流,更关注流量突发缓解,但是过去流量占用资源是否释放不被关注)不同点在于使用加权计数器限流算法,关注流量的处理结果 1、计算量的存储与并发控制主要分为redis和本地两种,目前支持链接redis的工具主要是redisson、spring redis 2、因此有七种使用方式,默认使用ReentrantLock加锁,本地map缓存 3、如果使用工具的地方很多,存储比较适合使用redis 4、如果限流的方法qps很高,使用redis进行加锁处理可能是比ReentrantLock更好的选择

2023-05-24

空空如也

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

TA关注的人

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