diff --git a/sa-token-plugin/sa-token-alone-redis/src/main/java/cn/dev33/satoken/dao/alone/SaAloneRedisInject.java b/sa-token-plugin/sa-token-alone-redis/src/main/java/cn/dev33/satoken/dao/alone/SaAloneRedisInject.java index ff5b1fa5..ff7a6c07 100644 --- a/sa-token-plugin/sa-token-alone-redis/src/main/java/cn/dev33/satoken/dao/alone/SaAloneRedisInject.java +++ b/sa-token-plugin/sa-token-alone-redis/src/main/java/cn/dev33/satoken/dao/alone/SaAloneRedisInject.java @@ -20,8 +20,20 @@ import java.util.List; import java.util.stream.Collectors; /** - * 为 SaTokenDao 单独设置Redis连接信息 + * 为 SaToken 单独设置 Redis 连接信息,使权限缓存与业务缓存分离 + * + *

+ * 使用方式:在引入 sa-token redis 集成相关包的前提下,继续引入当前依赖

+ * 注意事项:目前本依赖仅对以下插件有 Redis 分离效果:
+ * sa-token-dao-redis
+ * sa-token-dao-redis-jackson
+ * sa-token-dao-redis-fastjson
+ * sa-token-dao-redis-fastjson2
+ *

+ * + * * @author click33 + * @since <= 1.34.0 */ @Configuration public class SaAloneRedisInject implements EnvironmentAware{ @@ -43,7 +55,7 @@ public class SaAloneRedisInject implements EnvironmentAware{ @Override public void setEnvironment(Environment environment) { try { - // 如果为空或者默认实现,则不进行任何操作 + // 如果 saTokenDao 为空或者为默认实现,则不进行任何操作 if(saTokenDao == null || saTokenDao instanceof SaTokenDaoDefaultImpl) { return; } @@ -54,7 +66,7 @@ public class SaAloneRedisInject implements EnvironmentAware{ // ------------------- 开始注入 - // 获取cfg对象 + // 获取cfg对象,解析开发者配置的 sa-token.alone-redis 相关信息 RedisProperties cfg = Binder.get(environment).bind(ALONE_PREFIX, RedisProperties.class).get(); // 1. Redis配置 @@ -158,7 +170,8 @@ public class SaAloneRedisInject implements EnvironmentAware{ LettuceConnectionFactory factory = new LettuceConnectionFactory(redisAloneConfig, clientConfig); factory.afterPropertiesSet(); - // 3. 开始初始化 SaTokenDao + // 3. 开始初始化 SaTokenDao ,此处需要依次判断开发者引入的是哪个 redis 库 + // 如果开发者引入的是:sa-token-dao-redis try { Class.forName("cn.dev33.satoken.dao.SaTokenDaoRedis"); @@ -195,6 +208,9 @@ public class SaAloneRedisInject implements EnvironmentAware{ return; } catch (ClassNotFoundException e) { } + + // 至此,说明开发者一个 redis 插件也没引入,或者引入的 redis 插件不在 sa-token-alone-redis 的支持范围内 + } catch (Exception e) { e.printStackTrace(); }