redisson-solon-plugin
此插件,由社区成员(Sorghum)贡献
<dependency>
<groupId>org.noear</groupId>
<artifactId>redisson-solon-plugin</artifactId>
</dependency>
1、描述
数据扩展插件,基于 redisson 封装(代码仓库),为 Solon Data 提供了 redis 的操作能力扩展。(v2.3.1 之后支持)
//这个插件,主要是为构建客户端提供小便利。其实也可以不用适配,直接使用。
2、配置示例
配置分格有两种:1,将配置内容独立为一个文件;2,将配置做为主配置的内容(注意 "|" 符号)。具体的配置内容,参考官网内容(https://github.com/redisson/redisson/wiki/Table-of-Content)。
redis.ds1:
file: "classpath:redisson.yml"
redis.ds2:
config: |
singleServerConfig:
password: "123456"
address: "redis://localhost:6379"
database: 0
redisson 有很多 codec ,比如:JacksonCodec、Kryo5Codec 等。需要配置自己需要的编码器。
3、应用示例
v2.8.5 后 RedissonSupplier 标为弃用,由 RedissonClientOriginalSupplier 替代
@Configuration
public class Config {
@Bean(value = "redisDs1", typed = true)
public RedissonClient demo1(@Inject("${redis.ds1}") RedissonClientOriginalSupplier supplier) {
return supplier.get();
}
@Bean("redisDs2")
public RedissonClient demo2(@Inject("${redis.ds2}") RedissonClientOriginalSupplier supplier) {
return supplier.get();
}
}
@Component
public class DemoService {
@Inject //@Inject("redisDs1")
RedissonClient demo1;
@Inject("redisDs2")
RedissonClient demo2;
}
4、二次应用
可以借用 RedissonClient,再加工别的服务。相当于用一份 redis 配置,做更多的事
- 结合 org.noear:solon.cache.redisson 插件,创建缓存服务
@Configuration
public class Config {
@Bean
public CacheService demo2(@Inject RedissonClient client) {
return new RedissonCacheService(client, 30);
}
}
- 结合 cn.dev33:sa-token-redisson-jackson2 插件,创建 sa-token dao
@Configuration
public class Config {
@Bean
public SaTokenDao saTokenDaoInit(RedissonClient redissonClient) {
return new SaTokenDaoRedissonJackson(redissonClient);
}
}
4、参考示例
https://gitee.com/noear/solon-examples/tree/main/4.Solon-Data/demo4101-redisson