From 952ea2fcb3b877dc672897def27e370433fc9fb0 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 30 Apr 2020 17:29:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3RedisTemplate.opsForValue()?= =?UTF-8?q?=E5=AD=98=E5=8F=96List=E6=97=B6=E5=80=99=E7=9A=84?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2=E5=BC=82=E5=B8=B8=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=89=8B=E5=8A=A8=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E7=94=A8stringRedisTemplate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisUtils.java | 39 +++++++++++++++++++ .../com/epmet/redis/RoleOpeScopeRedis.java | 8 ++-- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java index 35e82c3de2..b68418626a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java @@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import java.util.Collection; @@ -30,6 +31,9 @@ public class RedisUtils { @Autowired private RedisTemplate redisTemplate; + @Autowired + private StringRedisTemplate stringRedisTemplate; + /** * 默认过期时长为24小时,单位:秒 */ @@ -171,4 +175,39 @@ public class RedisUtils { return redisTemplate.opsForList().rightPop(key); } + /** + * 获取String + * @param key + * @param expire + * @return + */ + public String getString(String key, long expire) { + String value = stringRedisTemplate.opsForValue().get(key); + if (expire != NOT_EXPIRE) { + expire(key, expire); + } + return value; + } + + public String getString(String key) { + return getString(key, DEFAULT_EXPIRE); + } + + /** + * 存储String + * @param key + * @param value + * @param expire + */ + public void setString(String key, String value, long expire) { + stringRedisTemplate.opsForValue().set(key, value); + if (expire != NOT_EXPIRE) { + expire(key, expire); + } + } + + public void setString(String key, String value) { + setString(key, value, DEFAULT_EXPIRE); + } + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java index f539f8e369..d8e324fb27 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java @@ -1,5 +1,7 @@ package com.epmet.redis; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.dto.result.RoleOpeScopeResultDTO; @@ -36,7 +38,7 @@ public class RoleOpeScopeRedis { */ public void setRoleAllOpeScopes(String roleId, List scopes) { String roleAllOpeScopesKey = RedisKeys.getRoleAllOpeScopesKey(roleId); - redisUtils.set(roleAllOpeScopesKey, scopes); + redisUtils.setString(roleAllOpeScopesKey, JSON.toJSONString(scopes)); } /** @@ -57,8 +59,8 @@ public class RoleOpeScopeRedis { */ public List getRoleAllOpeScopes(String roleId) { String roleOpeScopesKey = RedisKeys.getRoleAllOpeScopesKey(roleId); - Object o = redisUtils.get(roleOpeScopesKey); - return (List)o; + String stringValue = redisUtils.getString(roleOpeScopesKey); + return JSON.parseObject(stringValue, new TypeReference>(){}); } }