随笔分类 - redis
摘要:本次样例从单机层面上,采用拦截器的方式对请求限流。 资源:https://github.com/xiaozhuanfeng/rateLimiterProj 工程结构: pom.xml application.properties 1、新建抽象拦截器 2、新建RateLimiter Bean 3、新建
阅读全文
摘要:本次基于注解+AOP实现分布式锁(招式与前文基于注解切换多数据源相同),话不多说,直接上样例: 首先自定义注解:设计时需要考虑锁的一般属性:keys,最大等待时间,超时时间,时间单位。 新建一个抽象请求拦截器,设计模式:装饰模式,父类决定整体流程,具体细节交给字类实现,便于解耦扩展。 具体实现拦截类
阅读全文
摘要:为什么要使用分布式锁? 单机情况下,多线程同时访问并改变临界资源(可变共享变量),将会使得这个变量不可预知,所以我们引入了同步(lock—synchronized)。但在分布式场景下(多机部署),业务上我们需保证某个共享变量数据最终一致性,但实际每个机器的变量是独立的,同步(lock—synchro
阅读全文
摘要:使用Lua脚本的好处 1、减少网络开销:可以将多个请求通过脚本的形式一次发送,减少网络时延和请求次数。 2、原子性的操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。因此在编写脚本的过程中无需担心会出现竞态条件,无需使用事务。 3、代码复用:客户端发送的脚步会永久存在redis中
阅读全文


浙公网安备 33010602011771号