diff --git a/sa-token-demo/sa-token-demo-alone-redis/src/main/java/com/pj/test/TestController.java b/sa-token-demo/sa-token-demo-alone-redis/src/main/java/com/pj/test/TestController.java index 33ce9bce..634faeed 100644 --- a/sa-token-demo/sa-token-demo-alone-redis/src/main/java/com/pj/test/TestController.java +++ b/sa-token-demo/sa-token-demo-alone-redis/src/main/java/com/pj/test/TestController.java @@ -13,7 +13,7 @@ import cn.dev33.satoken.stp.StpUtil; * @author kong * */ -@RestController() +@RestController @RequestMapping("/test/") public class TestController { diff --git a/sa-token-demo/sa-token-demo-alone-redis/src/main/resources/application.yml b/sa-token-demo/sa-token-demo-alone-redis/src/main/resources/application.yml index e94c89f9..10b3b7cf 100644 --- a/sa-token-demo/sa-token-demo-alone-redis/src/main/resources/application.yml +++ b/sa-token-demo/sa-token-demo-alone-redis/src/main/resources/application.yml @@ -11,7 +11,6 @@ spring: timeout: 2592000 # Token风格 token-style: uuid - # 配置Sa-Token单独使用的Redis连接 alone-redis: # Redis数据库索引(默认为0) @@ -35,28 +34,6 @@ spring: # 连接池中的最小空闲连接 min-idle: 0 - # 业务使用的Redis连接 - redis: - # Redis数据库索引(默认为0) - database: 0 - # Redis服务器地址 - host: 127.0.0.1 - # Redis服务器连接端口 - port: 6379 - # Redis服务器连接密码(默认为空) - password: - # 连接超时时间(毫秒) - timeout: 10000ms - lettuce: - pool: - # 连接池最大连接数 - max-active: 200 - # 连接池最大阻塞等待时间(使用负值表示没有限制) - max-wait: -1ms - # 连接池中的最大空闲连接 - max-idle: 10 - # 连接池中的最小空闲连接 - min-idle: 0 diff --git a/sa-token-doc/doc/_sidebar.md b/sa-token-doc/doc/_sidebar.md index bdb13784..2ecf5369 100644 --- a/sa-token-doc/doc/_sidebar.md +++ b/sa-token-doc/doc/_sidebar.md @@ -36,8 +36,9 @@ - **插件** - [AOP注解鉴权](/plugin/aop-at) - - [Quick-Login快速登录插件](/plugin/quick-login) - [临时Token验证](/plugin/temp-token) + - [Quick-Login快速登录插件](/plugin/quick-login) + - [Alone独立Redis插件](/plugin/alone-redis) - **其它** - [更新日志](/more/update-log) diff --git a/sa-token-doc/doc/lib/index.css b/sa-token-doc/doc/lib/index.css index 6e0505ea..bb8a39ad 100644 --- a/sa-token-doc/doc/lib/index.css +++ b/sa-token-doc/doc/lib/index.css @@ -66,6 +66,9 @@ body{font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu .lang-java .token.annotation.punctuation{color: #ddd;} .lang-java .token.punctuation{color: #ddd;} +/* yml语言样式优化 */ +.main-box .lang-yml{color: #01A252 !important; opacity: 1;} + /* js语言样式优化 */ .main-box .lang-js{color: #01a252 !important;} .lang-js .token.comment{color: #CDAB53;} diff --git a/sa-token-doc/doc/plugin/alone-redis.md b/sa-token-doc/doc/plugin/alone-redis.md new file mode 100644 index 00000000..a59babd1 --- /dev/null +++ b/sa-token-doc/doc/plugin/alone-redis.md @@ -0,0 +1,97 @@ +# Sa-Token-Alone-Redis 独立Redis插件 +--- + +Sa-Token默认的Redis集成方式会把权限数据和业务缓存放在一起,但在部分场景下我们需要将他们彻底分离开来,比如: + +> 搭建两个Redis服务器,一个专门用来做业务缓存,另一台专门存放Sa-Token权限数据 + +要将Sa-Token的数据单独抽离出来很简单,你只需要为Sa-Token单独配置一个Redis连接信息即可 + +--- + + +### 1、首先引入Alone-Redis依赖 + +``` xml + + cn.dev33 + sa-token-alone-redis + 1.20.0 + +``` + + +### 2、然后在application.yml中增加配置 +``` yml +# 端口 +spring: + # Sa-Token配置 + sa-token: + # Token名称 + token-name: satoken + # Token有效期 + timeout: 2592000 + # Token风格 + token-style: uuid + + # 配置Sa-Token单独使用的Redis连接 + alone-redis: + # Redis数据库索引(默认为0) + database: 2 + # Redis服务器地址 + host: 127.0.0.1 + # Redis服务器连接端口 + port: 6379 + # Redis服务器连接密码(默认为空) + password: + # 连接超时时间(毫秒) + timeout: 10ms + lettuce: + pool: + # 连接池最大连接数 + max-active: 200 + # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + # 连接池中的最大空闲连接 + max-idle: 10 + # 连接池中的最小空闲连接 + min-idle: 0 +``` + +具体可参考:[码云:application.yml](https://gitee.com/dromara/sa-token/blob/dev/sa-token-demo/sa-token-demo-alone-redis/src/main/resources/application.yml) + + +### 3、测试 +新建Controller测试一下 +``` java +@RestController +@RequestMapping("/test/") +public class TestController { + + @Autowired + StringRedisTemplate stringRedisTemplate; + + // 测试Sa-Token缓存 + @RequestMapping("login") + public AjaxJson login(@RequestParam(defaultValue="10001") String id) { + System.out.println("--------------- 测试Sa-Token缓存"); + StpUtil.login(id); + return AjaxJson.getSuccess(); + } + + // 测试业务缓存 + @RequestMapping("test") + public AjaxJson test() { + System.out.println("--------------- 测试业务缓存"); + stringRedisTemplate.opsForValue().set("hello", "Hello World"); + return AjaxJson.getSuccess(); + } + +} +``` + +分别访问两个接口,观察Redis中增加的数据 + +![alone-redis](https://oss.dev33.cn/sa-token/doc/alone-redis.png 's-w') + +测试完毕!