草庐IT

redisson

全部标签

Redis集群和Lettuce 配置

Redis官方推荐的java客户端三大客户端Jedis、lettuce、Redissonlettuce、jedis、Redisson三者比较:jedis提供全面的指令支持,在多线程环境下是非线程安全的,性能比较差;lettuce的连接是基于Netty的,连接实例可以在多个线程间并发访问;Jedis和lettuce是比较纯粹的Redis客户端,几乎没提供什么高级功能;Redisson实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串操作,不支持排序、事务、管道、分区等Redis特性。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力

redisson 限流实战开发

redisson限流实战开发文章目录redisson限流实战开发限流注解实战代码依赖注入注入配置RedissonClient注解定义注解切面Manager类提供具体通用功能配置式限流核心代码动态限流完整版本代码建表sqlRedisLimiterManagerRateLimitRateLimiterAllocationController使用总结坑​限流场景一般用于高并发,或者接口成本较高控制成本的一种手段,通常和配额一起使用,是一种有效的保护应用可用性的方法,当然限流的编码会加大开发成本,开发维护测试,软件开发的各个环节都会收到影响,不过限流作为有效面对流量突刺保护应用正常使用的有效手段之一,

Springboot3 + Springboot cache+Ehcache3 + Redisson 实现本地缓存管理及分布式本地缓存更新方案

目录一、背景二、依赖三、配置1、ehcache3配置2、redisson配置四、代码实现1、本地缓存使用2、Redisson发布订阅五、测试效果1、启动效果2、本地缓存测试:第一次取数据库,第二次取本地缓存3、消息订阅本地缓存更新测试六、参考文档一、背景使用ehcache3+redisson,实现本地缓存配置管理及分布本地缓存更新方案。项目使用springboot3.1.7gradle8.5。核心逻辑:采用redisson发布订阅模式同步变更消息。二、依赖implementation'org.springframework.boot:spring-boot-starter-data-redis

Redisson看门狗机制

一、背景网上redis分布式锁的工具方法,大都满足互斥、防止死锁的特性,有些工具方法会满足可重入特性。如果只满足上述3种特性会有哪些隐患呢?redis分布式锁无法自动续期,比如,一个锁设置了1分钟超时释放,如果拿到这个锁的线程在一分钟内没有执行完毕,那么这个锁就会被其他线程拿到,可能会导致严重的线上问题。既然存在锁过期而任务未执行完毕的情况,那是否有一种可以在任务未完成时自动续期的机制呢,几年前在redisson中找到了看门狗的自动续期机制,就是解决这种分布式锁自动续期的问题的。Redisson锁的加锁机制如上图所示,线程去获取锁,获取成功则执行lua脚本,保存数据到redis数据库。如果获取

Redisson分布式锁

Redisson分布式锁来自Githup官方文档的介绍:Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-MemoryDataGrid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet,Set,Multimap,SortedSet,Map,List,Queue,BlockingQueue,Deque,BlockingDeque,Semaphore,Lock,AtomicLong,CountDownLatch,Publish/Subscribe,Bloomfilter,Remoteservice,Springcache,E

Redisson分布式锁 原理 + 运用 记录

Redisson分布式锁简单入门pomdependency>groupId>org.redisson/groupId>artifactId>redisson/artifactId>version>3.13.6/version>/dependency>配置类packagecom.hmdp.config;importorg.redisson.Redisson;importorg.redisson.api.RedissonClient;importorg.redisson.config.Config;importorg.springframework.context.annotation.Bean;

Springboot 中使用 Redisson+AOP+自定义注解 实现访问限流与黑名单拦截

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏🏷️个人学习笔记,若有缺误,欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站AI学习网站。目录前言1.导入Redisson引入依赖编写配置声明Redisson客户端Bean2.自定义注解3.AOP切面编程导入依赖编写AOP限流代码4.接口使用自定义注解实现限流使用自定义限流注解绑定限流回调函数总结前言在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。  限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统,一旦达到限制速率则

SpringBoot Redisson 集成详解

一、引入依赖org.redissonredisson-spring-boot-starter3.23.5redison-spring-boot-starter依赖于与最新版本的spring-boot兼容的redison-spring数据模块。降级redison弹簧数据模块(如有必要),以支持以前的springBoot版本:redisson-spring-datamodulenameSpringBootversionredisson-spring-data-161.3.yredisson-spring-data-171.4.yredisson-spring-data-181.5.yredisso

布隆过滤器四种实现(Java,Guava,hutool,Redisson)

1.背景为预防大量黑客故意发起非法的时间查询请求,造成缓存击穿,建议采用布隆过滤器的方法解决。布隆过滤器通过一个很长的二进制向量和一系列随机映射函数(哈希函数)来记录与识别某个数据是否在一个集合中。如果数据不在集合中,能被识别出来,不需要到数据库中进行查询,所以能将数据库查询返回值为空的查询过滤掉。缓存穿透:缓存穿透是查询一个根本不存在的数据,由于缓存是不命中时需要从数据库查询,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。2.布隆过滤器介绍1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列的随机映射函数(哈希函数)两部分组成的数据结构。用途:用于检索一