From a5b175f8943b1a2477508c9d271315a13cd1818f Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期四, 19 六月 2025 12:37:28 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/RedisUtil.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 56 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/common/utils/RedisUtil.java b/src/main/java/com/zy/common/utils/RedisUtil.java index b2df114..41cef35 100644 --- a/src/main/java/com/zy/common/utils/RedisUtil.java +++ b/src/main/java/com/zy/common/utils/RedisUtil.java @@ -2,8 +2,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -13,13 +15,20 @@ * redisTemplate灏佽 * */ -//@Component +@Component public class RedisUtil { - @Autowired - private RedisTemplate<String, Object> redisTemplate; +// @Autowired +// private RedisTemplate<String, Object> redisTemplate; - public RedisUtil(RedisTemplate<String, Object> redisTemplate) { + @Autowired + private RedisTemplate redisTemplate; + + public RedisTemplate getRedisTemplate() { + return redisTemplate; + } + + public RedisUtil(RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; } @@ -96,6 +105,21 @@ } /** + * 鑾峰彇鍏ㄩ儴鏁版嵁 + * @return + */ + public HashMap<Object, Object> getRedis() { + Set<String> keys = redisTemplate.keys("*"); + HashMap<Object, Object> map = new HashMap<>(); + for (String key : keys) { + Object value = redisTemplate.opsForValue().get(key); + map.put(key, value); + } + + return map;//杩斿洖鍏ㄩ儴鏁版嵁闆嗗悎 + } + + /** * 鏅�氱紦瀛樻斁鍏� * * @param key 閿� @@ -105,6 +129,34 @@ public boolean set(String key, Object value) { try { redisTemplate.opsForValue().set(key, value); + long start = System.currentTimeMillis(); + while (System.currentTimeMillis() - start < 10000) {//鏈夋晥鏈�10s + Object o = redisTemplate.opsForValue().get(key); + if (o == null) { + continue; + } + + if (o.equals(value)) { + break; + } + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 鏅�氱紦瀛樻斁鍏�-寮傛 + * + * @param key 閿� + * @param value 鍊� + * @return true鎴愬姛 false澶辫触 + */ + public boolean setAsync(String key, Object value) { + try { + redisTemplate.opsForValue().set(key, value); return true; } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.9.1