From 2e6bb454f42a28f719e40abeeeb87e12b4efa93f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 16 三月 2020 09:58:40 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue --- ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java | 407 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 207 insertions(+), 200 deletions(-) diff --git a/ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java b/ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java index a290494..1bc6050 100644 --- a/ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java +++ b/ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java @@ -1,200 +1,207 @@ -package com.ruoyi.framework.redis; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.BoundSetOperations; -import org.springframework.data.redis.core.HashOperations; -import org.springframework.data.redis.core.ListOperations; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.ValueOperations; -import org.springframework.stereotype.Component; - -/** - * spring redis 宸ュ叿绫� - * - * @author ruoyi - **/ -@SuppressWarnings(value = { "unchecked", "rawtypes" }) -@Component -public class RedisCache -{ - @Autowired - public RedisTemplate redisTemplate; - - /** - * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛� - * - * @param key 缂撳瓨鐨勯敭鍊� - * @param value 缂撳瓨鐨勫�� - * @return 缂撳瓨鐨勫璞� - */ - public <T> ValueOperations<String, T> setCacheObject(String key, T value) - { - ValueOperations<String, T> operation = redisTemplate.opsForValue(); - operation.set(key, value); - return operation; - } - - /** - * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛� - * - * @param key 缂撳瓨鐨勯敭鍊� - * @param value 缂撳瓨鐨勫�� - * @param timeout 鏃堕棿 - * @param timeUnit 鏃堕棿棰楃矑搴� - * @return 缂撳瓨鐨勫璞� - */ - public <T> ValueOperations<String, T> setCacheObject(String key, T value, Integer timeout, TimeUnit timeUnit) - { - ValueOperations<String, T> operation = redisTemplate.opsForValue(); - operation.set(key, value, timeout, timeUnit); - return operation; - } - - /** - * 鑾峰緱缂撳瓨鐨勫熀鏈璞°�� - * - * @param key 缂撳瓨閿�� - * @return 缂撳瓨閿�煎搴旂殑鏁版嵁 - */ - public <T> T getCacheObject(String key) - { - ValueOperations<String, T> operation = redisTemplate.opsForValue(); - return operation.get(key); - } - - /** - * 鍒犻櫎鍗曚釜瀵硅薄 - * - * @param key - */ - public void deleteObject(String key) - { - redisTemplate.delete(key); - } - - /** - * 鍒犻櫎闆嗗悎瀵硅薄 - * - * @param collection - */ - public void deleteObject(Collection collection) - { - redisTemplate.delete(collection); - } - - /** - * 缂撳瓨List鏁版嵁 - * - * @param key 缂撳瓨鐨勯敭鍊� - * @param dataList 寰呯紦瀛樼殑List鏁版嵁 - * @return 缂撳瓨鐨勫璞� - */ - public <T> ListOperations<String, T> setCacheList(String key, List<T> dataList) - { - ListOperations listOperation = redisTemplate.opsForList(); - if (null != dataList) - { - int size = dataList.size(); - for (int i = 0; i < size; i++) - { - listOperation.leftPush(key, dataList.get(i)); - } - } - return listOperation; - } - - /** - * 鑾峰緱缂撳瓨鐨刲ist瀵硅薄 - * - * @param key 缂撳瓨鐨勯敭鍊� - * @return 缂撳瓨閿�煎搴旂殑鏁版嵁 - */ - public <T> List<T> getCacheList(String key) - { - List<T> dataList = new ArrayList<T>(); - ListOperations<String, T> listOperation = redisTemplate.opsForList(); - Long size = listOperation.size(key); - - for (int i = 0; i < size; i++) - { - dataList.add(listOperation.index(key, i)); - } - return dataList; - } - - /** - * 缂撳瓨Set - * - * @param key 缂撳瓨閿�� - * @param dataSet 缂撳瓨鐨勬暟鎹� - * @return 缂撳瓨鏁版嵁鐨勫璞� - */ - public <T> BoundSetOperations<String, T> setCacheSet(String key, Set<T> dataSet) - { - BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key); - Iterator<T> it = dataSet.iterator(); - while (it.hasNext()) - { - setOperation.add(it.next()); - } - return setOperation; - } - - /** - * 鑾峰緱缂撳瓨鐨剆et - * - * @param key - * @return - */ - public <T> Set<T> getCacheSet(String key) - { - Set<T> dataSet = new HashSet<T>(); - BoundSetOperations<String, T> operation = redisTemplate.boundSetOps(key); - Long size = operation.size(); - for (int i = 0; i < size; i++) - { - dataSet.add(operation.pop()); - } - return dataSet; - } - - /** - * 缂撳瓨Map - * - * @param key - * @param dataMap - * @return - */ - public <T> HashOperations<String, String, T> setCacheMap(String key, Map<String, T> dataMap) - { - HashOperations hashOperations = redisTemplate.opsForHash(); - if (null != dataMap) - { - for (Map.Entry<String, T> entry : dataMap.entrySet()) - { - hashOperations.put(key, entry.getKey(), entry.getValue()); - } - } - return hashOperations; - } - - /** - * 鑾峰緱缂撳瓨鐨凪ap - * - * @param key - * @return - */ - public <T> Map<String, T> getCacheMap(String key) - { - Map<String, T> map = redisTemplate.opsForHash().entries(key); - return map; - } -} +package com.ruoyi.framework.redis; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.BoundSetOperations; +import org.springframework.data.redis.core.HashOperations; +import org.springframework.data.redis.core.ListOperations; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.stereotype.Component; + +/** + * spring redis 宸ュ叿绫� + * + * @author ruoyi + **/ +@SuppressWarnings(value = { "unchecked", "rawtypes" }) +@Component +public class RedisCache +{ + @Autowired + public RedisTemplate redisTemplate; + + /** + * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛� + * + * @param key 缂撳瓨鐨勯敭鍊� + * @param value 缂撳瓨鐨勫�� + * @return 缂撳瓨鐨勫璞� + */ + public <T> ValueOperations<String, T> setCacheObject(String key, T value) + { + ValueOperations<String, T> operation = redisTemplate.opsForValue(); + operation.set(key, value); + return operation; + } + + /** + * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛� + * + * @param key 缂撳瓨鐨勯敭鍊� + * @param value 缂撳瓨鐨勫�� + * @param timeout 鏃堕棿 + * @param timeUnit 鏃堕棿棰楃矑搴� + * @return 缂撳瓨鐨勫璞� + */ + public <T> ValueOperations<String, T> setCacheObject(String key, T value, Integer timeout, TimeUnit timeUnit) + { + ValueOperations<String, T> operation = redisTemplate.opsForValue(); + operation.set(key, value, timeout, timeUnit); + return operation; + } + + /** + * 鑾峰緱缂撳瓨鐨勫熀鏈璞°�� + * + * @param key 缂撳瓨閿�� + * @return 缂撳瓨閿�煎搴旂殑鏁版嵁 + */ + public <T> T getCacheObject(String key) + { + ValueOperations<String, T> operation = redisTemplate.opsForValue(); + return operation.get(key); + } + + /** + * 鍒犻櫎鍗曚釜瀵硅薄 + * + * @param key + */ + public void deleteObject(String key) + { + redisTemplate.delete(key); + } + + /** + * 鍒犻櫎闆嗗悎瀵硅薄 + * + * @param collection + */ + public void deleteObject(Collection collection) + { + redisTemplate.delete(collection); + } + + /** + * 缂撳瓨List鏁版嵁 + * + * @param key 缂撳瓨鐨勯敭鍊� + * @param dataList 寰呯紦瀛樼殑List鏁版嵁 + * @return 缂撳瓨鐨勫璞� + */ + public <T> ListOperations<String, T> setCacheList(String key, List<T> dataList) + { + ListOperations listOperation = redisTemplate.opsForList(); + if (null != dataList) + { + int size = dataList.size(); + for (int i = 0; i < size; i++) + { + listOperation.leftPush(key, dataList.get(i)); + } + } + return listOperation; + } + + /** + * 鑾峰緱缂撳瓨鐨刲ist瀵硅薄 + * + * @param key 缂撳瓨鐨勯敭鍊� + * @return 缂撳瓨閿�煎搴旂殑鏁版嵁 + */ + public <T> List<T> getCacheList(String key) + { + List<T> dataList = new ArrayList<T>(); + ListOperations<String, T> listOperation = redisTemplate.opsForList(); + Long size = listOperation.size(key); + + for (int i = 0; i < size; i++) + { + dataList.add(listOperation.index(key, i)); + } + return dataList; + } + + /** + * 缂撳瓨Set + * + * @param key 缂撳瓨閿�� + * @param dataSet 缂撳瓨鐨勬暟鎹� + * @return 缂撳瓨鏁版嵁鐨勫璞� + */ + public <T> BoundSetOperations<String, T> setCacheSet(String key, Set<T> dataSet) + { + BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key); + Iterator<T> it = dataSet.iterator(); + while (it.hasNext()) + { + setOperation.add(it.next()); + } + return setOperation; + } + + /** + * 鑾峰緱缂撳瓨鐨剆et + * + * @param key + * @return + */ + public <T> Set<T> getCacheSet(String key) + { + Set<T> dataSet = new HashSet<T>(); + BoundSetOperations<String, T> operation = redisTemplate.boundSetOps(key); + dataSet = operation.members(); + return dataSet; + } + + /** + * 缂撳瓨Map + * + * @param key + * @param dataMap + * @return + */ + public <T> HashOperations<String, String, T> setCacheMap(String key, Map<String, T> dataMap) + { + HashOperations hashOperations = redisTemplate.opsForHash(); + if (null != dataMap) + { + for (Map.Entry<String, T> entry : dataMap.entrySet()) + { + hashOperations.put(key, entry.getKey(), entry.getValue()); + } + } + return hashOperations; + } + + /** + * 鑾峰緱缂撳瓨鐨凪ap + * + * @param key + * @return + */ + public <T> Map<String, T> getCacheMap(String key) + { + Map<String, T> map = redisTemplate.opsForHash().entries(key); + return map; + } + + /** + * 鑾峰緱缂撳瓨鐨勫熀鏈璞″垪琛� + * + * @param pattern 瀛楃涓插墠缂� + * @return 瀵硅薄鍒楄〃 + */ + public Collection<String> keys(String pattern) + { + return redisTemplate.keys(pattern); + } +} -- Gitblit v1.9.3