背景 摸清 Redis 的数据清理策略,给内存使用高的被动缓存场景,在遇到内存不足时 怎么做是最优解提供决策依据。 本文整理 Redis 的数据清理策略所有代码来自 Redis version : 5.x, 不同版本的 Redis 策略可能有调整 清理策略 Redis 的清理策略,总结概括为三点,被动清理、定时清理、驱逐清理 被动清理 访问 Key 时,每次都会检查该 Key 是否已过期,如果过期则删除该 Key ,get 、scan 等指...

Klcok分布式锁新增锁超时处理策略支持
klock简介 Klock是博主基于redis开发的分布式锁spring-boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目。基于注解驱动,支持spring Spel,方便的定义锁的key的粒度。项目已开源,这次主要新增了锁等待超时和锁释放超时的处理策略。 项目地址: https://gitee.com/kekingcn/spring-boot-klock-starter 本次更新内容 本次更新主要新增了【锁等待超时】和【...
公司内部分享系列-分布式锁相关
前言碎语 以下内容为博主准备在公司内部分享【分布式锁】相关列的提纲,全文基本都是关键字,分享过程全靠编了,尽量涵盖多线程以及锁分布式锁的各种使用技巧 和使用场景吧。 和锁相关的东西? 多线程、高并发、大流量、资源保护、并行、串行 锁的使用场景? 了解了以上的和锁相关的东西后,我们大概知道了锁的使用场景,如: 多线程高并发下的资源保护,有序的消费资源...
spring-boot-klock-starter分布式锁项目开源
前言碎语 spring-boot-klock-starter是一个基于redis的分布式锁spring boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目, 使用和接入都非常简单方便,现开源出来,给所有需要分布式锁能力的项目提供一个方案 项目地址: https://gitee.com/kekingcn/spring-boot-klock-starter 快速开始 spring boot项目接入 1.添加lock starter组件依赖,目前还没上传到公共仓库...
spring boot集成redisson的最佳实践
前言碎语 redisson是redis的java客户端程序,使用度比较广,在和spring的集成中官方给出的实例也是比较多,比较方便,具体可查看我之前的一篇博文 《spring集成redis客户端jedis以及redisson 》 ,可以提供yaml,json配置文件来实例化redissonClient,如果我们的程序是spring boot,一般都是使用application.properties来配置我们应用配置参数,如何使用application.properties的方式配置redisson呢,请看下文? 1....
redisson应用之分布式服务
redisson分布式远程调用 1. 分布式远程服务(Remote Service) 基于Redis的Java分布式远程服务,可以用来通过共享接口执行存在于另一个Redisson实例里的对象方法。换句话说就是通过Redis实现了Java的远程过程调用(RPC)。分布式远程服务基于可以用POJO对象,方法的参数和返回类不受限制,可以是任何类型。 分布式远程服务(Remote Service)提供了两种类型的RRemoteService实例: 服务端(远端)实...
redisson应用之分布式锁和同步器
redisson分布式锁和同步器 1. 可重入锁(Reentrant Lock) Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。 RLock lock = redisson.getLock("anyLock"); // 最常见的使用方法 lock.lock(); // 支持过期解锁功能 // 10秒钟以后自动解锁 // 无需调用unlock方法手动解锁 lock.lock(10, TimeUnit.SECONDS); // 尝试加锁,最多等待100秒,上锁以后10秒自动解锁 boolean res = lock.tryLoc...