diff --git a/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/HashCacheAbs.java b/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/HashCacheAbs.java index 3813c3e..126fbf0 100644 --- a/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/HashCacheAbs.java +++ b/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/HashCacheAbs.java @@ -4,10 +4,7 @@ import com.muyu.common.cache.HashCache; import com.muyu.common.redis.service.RedisService; import org.springframework.beans.factory.annotation.Autowired; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Function; /** @@ -49,10 +46,7 @@ public abstract class HashCacheAbs implements HashCache { */ @Override public Map get (K key) { - Map dataMap = redisService.getCacheMap(encode(key)); - Map resultMap = new HashMap<>(); - dataMap.forEach((hashKey, hashValue) -> resultMap.put(decodeHashKey(hashKey), hashValue)); - return resultMap; + return decodeMap(redisService.getCacheMap(encode(key))); } /** @@ -91,7 +85,8 @@ public abstract class HashCacheAbs implements HashCache { */ @Override public List getToList (K key) { - return null; + Map hkhvMap = get(key); + return hkhvMap.values().stream().toList(); } /** @@ -102,7 +97,7 @@ public abstract class HashCacheAbs implements HashCache { */ @Override public void put (K key, Map map) { - + redisService.setCacheMap(encode(key), encodeMap(map)); } /** @@ -149,4 +144,26 @@ public abstract class HashCacheAbs implements HashCache { public void remove (K key, HK hashKey) { } + + /** + * 原始数据转编码数据 + * @param dataMap 原始数据 + * @return 编码数据 + */ + private Map encodeMap(Map dataMap){ + Map encodeDataMap = new HashMap<>(); + dataMap.forEach((hashKey, HashValue) -> encodeDataMap.put(encodeHashKey(hashKey), HashValue)); + return encodeDataMap; + } + + /** + * 编码数据转原始数据 + * @param encodeDataMap 编码数据 + * @return 原始数据 + */ + private Map decodeMap(Map encodeDataMap){ + Map dataMap = new HashMap<>(); + encodeDataMap.forEach((hashKey, hashValue) -> dataMap.put(decodeHashKey(hashKey), hashValue)); + return dataMap; + } }