From 5d7008160322f9062afc9dc18163bb5095403c23 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Thu, 2 Dec 2021 20:49:33 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=AE=9E=E7=8E=B0=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=E7=BC=93=E5=AD=98=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReactiveUserService.java | 20 ++++++++++--------- .../redis/ReactiveRedisConfig.java | 4 ++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/flyfish-user/src/main/java/com/flyfish/framework/service/ReactiveUserService.java b/flyfish-user/src/main/java/com/flyfish/framework/service/ReactiveUserService.java index 354dffb..3ab8c91 100644 --- a/flyfish-user/src/main/java/com/flyfish/framework/service/ReactiveUserService.java +++ b/flyfish-user/src/main/java/com/flyfish/framework/service/ReactiveUserService.java @@ -3,9 +3,7 @@ package com.flyfish.framework.service; import com.flyfish.framework.domain.po.User; import com.flyfish.framework.repository.ReactiveUserRepository; import com.flyfish.framework.service.impl.BaseReactiveServiceImpl; -import com.flyfish.framework.utils.RedisOperations; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.redis.core.ReactiveRedisTemplate; +import com.flyfish.framework.utils.ReactiveRedisOperations; import org.springframework.stereotype.Service; import reactor.core.publisher.Mono; @@ -20,7 +18,7 @@ import javax.annotation.Resource; public class ReactiveUserService extends BaseReactiveServiceImpl { @Resource - private RedisOperations redisOperations; + private ReactiveRedisOperations reactiveRedisOperations; /** * 获取用户数据 @@ -28,14 +26,18 @@ public class ReactiveUserService extends BaseReactiveServiceImpl { * @param username 用户 * @return 结果 */ - @Cacheable public Mono findByUsername(String username) { - if (redisOperations.hasKey(getCacheKey(username))) { - return - } - return ((ReactiveUserRepository) repository).findByUsername(username); + String key = getCacheKey(username); + return reactiveRedisOperations.hasKey(key).flatMap(exists -> exists ? reactiveRedisOperations.get(key) : + ((ReactiveUserRepository) repository).findByUsername(username)); } + /** + * 获取缓存键 + * + * @param username 用户名 + * @return 结果 + */ private String getCacheKey(String username) { return "user-" + username; } diff --git a/flyfish-web/src/main/java/com/flyfish/framework/configuration/redis/ReactiveRedisConfig.java b/flyfish-web/src/main/java/com/flyfish/framework/configuration/redis/ReactiveRedisConfig.java index db9444e..a7eeb85 100644 --- a/flyfish-web/src/main/java/com/flyfish/framework/configuration/redis/ReactiveRedisConfig.java +++ b/flyfish-web/src/main/java/com/flyfish/framework/configuration/redis/ReactiveRedisConfig.java @@ -43,8 +43,8 @@ public class ReactiveRedisConfig { } @Bean - public ReactiveRedisOperations redisOperations(ReactiveStringRedisTemplate reactiveStringRedisTemplate, - ReactiveRedisTemplate reactiveRedisTemplate) { + public ReactiveRedisOperations reactiveRedisOperations(ReactiveStringRedisTemplate reactiveStringRedisTemplate, + ReactiveRedisTemplate reactiveRedisTemplate) { return new ReactiveRedisOperations(reactiveRedisTemplate, reactiveStringRedisTemplate); }