# spring-boot-hredisson-starter
**Repository Path**: Qi_JinNian/spring-boot-hredisson-starter
## Basic Information
- **Project Name**: spring-boot-hredisson-starter
- **Description**: 基于redisson封装的自动装配模块
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 2
- **Created**: 2021-03-11
- **Last Updated**: 2022-07-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# spring-boot-hredisson-starter
#### 介绍
基于redisson封装的自动装配模块
#### 安装教程
mvn install
安装成jar后引入依赖自动注入

#### 使用说明
1. 参数配置参考RedisConfig.class文件在`application.properties`文件进行配置。
使用配置文件

配置文件对应spring-boot-hredisson-starter的配置类

2. RedisServer.class @Autowired即可使用,提供redis的命令服务,按照redis五大基本类型和keys划分。

3. 分布式锁注解 `@HLock`(作用于方法)加载方法上表示是一个由redis分布式锁控制的方法,可根据keys参数基于el表达式设置锁的参数粒度,也可以同时使用`@LockKey`(作用于参数)注解控制锁的粒度。
例子1:`@HLock(waitTime = 10,leaseTime = 60,keys = {"#param","#user.id"})` 其中keys用param参数和user对象的id参数作为锁粒度控制 。
例子2:`@LockKey(value = "name") User user`其中value参数直接写属性名于keys共同控制锁粒度。

4. 发布订阅,使用`@RedisSubscribe`(作用于类)和`OnMessage(topic="test")`(作用于方法)注解指定主题进行订阅监听,使用`@RedisSubscribe`注解的类下的所有 所有使用`@OnMessage`注解的方法都可以实现redis的订阅监听,;发布消息则直接注入使用`RedisPublishServer.class`的send方法。
订阅

发布

5. 方法缓存,使用`@MethodCache`注解作用于方法,即可实现方法的缓存。
例子:`@MethodCache(name = "testMethodCache", keys = {"#id","#user.name"}, expireTime = 3)`,其中name为指定业务名,key基于el表达式获取传入参数与name共同控制方法缓存粒度,expireTime为过期时间(单位秒)。

### 最后
lock部分参考学习自大牛kl的项目:https://gitee.com/kekingcn/spring-boot-klock-starter?_from=gitee_search