From 247a4a1f10f233c89a4bd054dee3cb9b7d4a76f1 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期三, 19 十一月 2025 08:40:12 +0800
Subject: [PATCH] 新增数据上传准东
---
src/main/java/com/ruoyi/doublePrevention/config/redis/RedisUtils.java | 531 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 270 insertions(+), 261 deletions(-)
diff --git a/src/main/java/com/ruoyi/doublePrevention/config/redis/RedisUtils.java b/src/main/java/com/ruoyi/doublePrevention/config/redis/RedisUtils.java
index 2ea8c61..a97e3f0 100644
--- a/src/main/java/com/ruoyi/doublePrevention/config/redis/RedisUtils.java
+++ b/src/main/java/com/ruoyi/doublePrevention/config/redis/RedisUtils.java
@@ -1,261 +1,270 @@
-//package com.ruoyi.doublePrevention.config.redis;
-//
-//
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//import org.springframework.data.redis.connection.RedisClusterConnection;
-//import org.springframework.data.redis.connection.RedisClusterNode;
-//import org.springframework.data.redis.connection.RedisConnection;
-//import org.springframework.data.redis.connection.RedisConnectionFactory;
-//import org.springframework.data.redis.connection.jedis.JedisClusterConnection;
-//import org.springframework.data.redis.connection.jedis.JedisConnection;
-//import org.springframework.data.redis.core.*;
-//import org.springframework.stereotype.Repository;
-//
-//import javax.annotation.PostConstruct;
-//import javax.annotation.Resource;
-//import java.io.Serializable;
-//import java.util.HashSet;
-//import java.util.Iterator;
-//import java.util.List;
-//import java.util.Set;
-//import java.util.concurrent.TimeUnit;
-//
-///**
-//* @Description: redis工具类
-//*/
-//
-//@Repository("configRedisRepository")
-//@SuppressWarnings(value = { "unchecked", "rawtypes" })
-//public class RedisUtils {
-//
-//
-// @Resource
-// private RedisTemplate redisTemplate;
-// /**
-// * logger
-// */
-// private final Logger logger = LoggerFactory.getLogger(this.getClass());
-//
-//
-// @PostConstruct
-// public void initRepository(){
-// try {
-// this.set("test:module:Web", "testConnection", 60L, TimeUnit.SECONDS);
-// logger.info("[ModuleRedis][Web] is connected");
-// } catch (Exception e) {
-// logger.error("[ModuleRedis][Web] connected failed!!");
-// }
-// }
-//
-// /**
-// * 写入缓存
-// * @param key
-// * @param value
-// * @return
-// */
-// public boolean set(final String key, Object value) {
-// boolean result = false;
-// try {
-// ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
-// operations.set(key, value);
-// result = true;
-// } catch (Exception e) {
-// e.printStackTrace();
-// }
-// return result;
-// }
-// /**
-// * 写入缓存设置时效时间
-// * @param key
-// * @param value
-// * @return
-// */
-// public boolean set(final String key, Object value, Long expireTime ,TimeUnit timeUnit) {
-// boolean result = false;
-// try {
-// ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
-// operations.set(key, value);
-// redisTemplate.expire(key, expireTime, timeUnit);
-// result = true;
-// } catch (Exception e) {
-// e.printStackTrace();
-// }
-// return result;
-// }
-// /**
-// * 批量删除对应的value
-// * @param keys
-// */
-// public void remove(final String... keys) {
-// for (String key : keys) {
-// remove(key);
-// }
-// }
-// /**
-// * 批量删除key
-// * @param pattern
-// */
-// public void removePattern(final String pattern) {
-// Set<Serializable> keys = redisTemplate.keys(pattern);
-// if (keys.size() > 0){
-// redisTemplate.delete(keys);
-// }
-// }
-// /**
-// * 删除对应的value
-// * @param key
-// */
-// public void remove(final String key) {
-// if (exists(key)) {
-// redisTemplate.delete(key);
-// }
-// }
-// /**
-// * 判断缓存中是否有对应的value
-// * @param key
-// * @return
-// */
-// public boolean exists(final String key) {
-// return redisTemplate.hasKey(key);
-// }
-// /**
-// * 读取缓存
-// * @param key
-// * @return
-// */
-// public Object get(final String key) {
-// Object result = null;
-// ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
-// result = operations.get(key);
-// return result;
-// }
-// /**
-// * 哈希 添加
-// * @param key
-// * @param hashKey
-// * @param value
-// */
-// public void hmSet(String key, Object hashKey, Object value){
-// HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
-// hash.put(key,hashKey,value);
-// }
-// /**
-// * 哈希获取数据
-// * @param key
-// * @param hashKey
-// * @return
-// */
-// public Object hmGet(String key, Object hashKey){
-// HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
-// return hash.get(key,hashKey);
-// }
-// /**
-// * 列表添加
-// * @param k
-// * @param v
-// */
-// public void lPush(String k,Object v){
-// ListOperations<String, Object> list = redisTemplate.opsForList();
-// list.rightPush(k,v);
-// }
-// /**
-// * 列表获取
-// * @param k
-// * @param l
-// * @param l1
-// * @return
-// */
-// public List<Object> lRange(String k, long l, long l1){
-// ListOperations<String, Object> list = redisTemplate.opsForList();
-// return list.range(k,l,l1);
-// }
-// /**
-// * 集合添加
-// * @param key
-// * @param value
-// */
-// public void add(String key,Object value){
-// SetOperations<String, Object> set = redisTemplate.opsForSet();
-// set.add(key,value);
-// }
-// /**
-// * 集合获取
-// * @param key
-// * @return
-// */
-// public Set<Object> setMembers(String key){
-// SetOperations<String, Object> set = redisTemplate.opsForSet();
-// return set.members(key);
-// }
-// /**
-// * 有序集合添加
-// * @param key
-// * @param value
-// * @param scoure
-// */
-// public void zAdd(String key,Object value,double scoure){
-// ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
-// zset.add(key,value,scoure);
-// }
-// /**
-// * 有序集合获取
-// * @param key
-// * @param scoure
-// * @param scoure1
-// * @return
-// */
-// public Set<Object> rangeByScore(String key,double scoure,double scoure1){
-// ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
-// return zset.rangeByScore(key, scoure, scoure1);
-// }
-//
-// /**
-// * @Description: 获取过期时间 返回 秒
-// */
-//
-// public Long getExpireTime(String key) {
-// return redisTemplate.getExpire(key, TimeUnit.SECONDS);
-// }
-//
-//
-// /**
-// * @Description: 重置key 的 过期时间
-// */
-// public void resetKeyExpireTime(String key, Long seconds) {
-// redisTemplate.expire(key, seconds, TimeUnit.SECONDS);
-// }
-//
-// public Set<String> scanMatch(String matchKey) {
-// Set<String> keys = new HashSet();
-// RedisConnectionFactory connectionFactory = redisTemplate.getConnectionFactory();
-// RedisConnection redisConnection = connectionFactory.getConnection();
-// Cursor<byte[]> scan = null;
-// if(redisConnection instanceof JedisClusterConnection){
-// RedisClusterConnection clusterConnection = connectionFactory.getClusterConnection();
-// Iterable<RedisClusterNode> redisClusterNodes = clusterConnection.clusterGetNodes();
-// Iterator<RedisClusterNode> iterator = redisClusterNodes.iterator();
-// while (iterator.hasNext()) {
-// RedisClusterNode next = iterator.next();
-// scan = clusterConnection.scan(next, ScanOptions.scanOptions().match(matchKey).count(Integer.MAX_VALUE).build());
-// while (scan.hasNext()) {
-// keys.add(new String(scan.next()));
-// }
-// scan.close();
-// }
-// return keys;
-// }
-// if(redisConnection instanceof JedisConnection){
-// scan = redisConnection.scan(ScanOptions.scanOptions().match(matchKey).count(Integer.MAX_VALUE).build());
-// while (scan.hasNext()){
-// //找到一次就添加一次
-// keys.add(new String(scan.next()));
-// }
-// scan.close();
-// return keys;
-// }
-//
-// return keys;
-//}
-//
-//}
+package com.ruoyi.doublePrevention.config.redis;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.data.redis.connection.RedisClusterConnection;
+import org.springframework.data.redis.connection.RedisClusterNode;
+import org.springframework.data.redis.connection.RedisConnection;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.connection.jedis.JedisClusterConnection;
+import org.springframework.data.redis.connection.jedis.JedisConnection;
+import org.springframework.data.redis.core.*;
+import org.springframework.stereotype.Repository;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+* @Description: redis工具类
+*/
+
+@Repository("configRedisRepository")
+@SuppressWarnings(value = { "unchecked", "rawtypes" })
+public class RedisUtils {
+
+
+ @Resource
+ private RedisTemplate redisTemplate;
+ /**
+ * logger
+ */
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+
+ @PostConstruct
+ public void initRepository(){
+ try {
+ this.set("test:module:Web", "testConnection", 60L, TimeUnit.SECONDS);
+ logger.info("[ModuleRedis][Web] is connected");
+ } catch (Exception e) {
+ logger.error("[ModuleRedis][Web] connected failed!!");
+ }
+ }
+
+ /**
+ * 写入缓存
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value) {
+ boolean result = false;
+ try {
+ ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
+ operations.set(key, value);
+ result = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+ /**
+ * 写入缓存设置时效时间
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value, Long expireTime ,TimeUnit timeUnit) {
+ boolean result = false;
+ try {
+ ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
+ operations.set(key, value);
+ redisTemplate.expire(key, expireTime, timeUnit);
+ result = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+ /**
+ * 批量删除对应的value
+ * @param keys
+ */
+ public void remove(final String... keys) {
+ for (String key : keys) {
+ remove(key);
+ }
+ }
+ /**
+ * 批量删除key
+ * @param pattern
+ */
+ public void removePattern(final String pattern) {
+ Set<Serializable> keys = redisTemplate.keys(pattern);
+ if (keys.size() > 0){
+ redisTemplate.delete(keys);
+ }
+ }
+ /**
+ * 删除对应的value
+ * @param key
+ */
+ public void remove(final String key) {
+ if (exists(key)) {
+ redisTemplate.delete(key);
+ }
+ }
+ /**
+ * 判断缓存中是否有对应的value
+ * @param key
+ * @return
+ */
+ public boolean exists(final String key) {
+ return redisTemplate.hasKey(key);
+ }
+ /**
+ * 读取缓存
+ * @param key
+ * @return
+ */
+ public Object get(final String key) {
+ Object result = null;
+ ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
+ result = operations.get(key);
+ return result;
+ }
+ /**
+ * 哈希 添加
+ * @param key
+ * @param hashKey
+ * @param value
+ */
+ public void hmSet(String key, Object hashKey, Object value){
+ HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
+ hash.put(key,hashKey,value);
+ }
+ /**
+ * 哈希获取数据
+ * @param key
+ * @param hashKey
+ * @return
+ */
+ public Object hmGet(String key, Object hashKey){
+ HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
+ return hash.get(key,hashKey);
+ }
+ /**
+ * 列表添加
+ * @param k
+ * @param v
+ */
+ public void lPush(String k,Object v){
+ ListOperations<String, Object> list = redisTemplate.opsForList();
+ list.rightPush(k,v);
+ }
+ /**
+ * 列表获取
+ * @param k
+ * @param l
+ * @param l1
+ * @return
+ */
+ public List<Object> lRange(String k, long l, long l1){
+ ListOperations<String, Object> list = redisTemplate.opsForList();
+ return list.range(k,l,l1);
+ }
+ /**
+ * 集合添加
+ * @param key
+ * @param value
+ */
+ public void add(String key,Object value){
+ SetOperations<String, Object> set = redisTemplate.opsForSet();
+ set.add(key,value);
+ }
+ /**
+ * 集合获取
+ * @param key
+ * @return
+ */
+ public Set<Object> setMembers(String key){
+ SetOperations<String, Object> set = redisTemplate.opsForSet();
+ return set.members(key);
+ }
+ /**
+ * 有序集合添加
+ * @param key
+ * @param value
+ * @param scoure
+ */
+ public void zAdd(String key,Object value,double scoure){
+ ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
+ zset.add(key,value,scoure);
+ }
+ /**
+ * 有序集合获取
+ * @param key
+ * @param scoure
+ * @param scoure1
+ * @return
+ */
+ public Set<Object> rangeByScore(String key,double scoure,double scoure1){
+ ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
+ return zset.rangeByScore(key, scoure, scoure1);
+ }
+
+ /**
+ * @Description: 获取过期时间 返回 秒
+ */
+
+ public Long getExpireTime(String key) {
+ return redisTemplate.getExpire(key, TimeUnit.SECONDS);
+ }
+
+
+ /**
+ * @Description: 重置key 的 过期时间
+ */
+ public void resetKeyExpireTime(String key, Long seconds) {
+ redisTemplate.expire(key, seconds, TimeUnit.SECONDS);
+ }
+
+ public Set<String> scanMatch(String matchKey) {
+ Set<String> keys = new HashSet();
+ RedisConnectionFactory connectionFactory = redisTemplate.getConnectionFactory();
+ RedisConnection redisConnection = connectionFactory.getConnection();
+ Cursor<byte[]> scan = null;
+ if(redisConnection instanceof JedisClusterConnection){
+ RedisClusterConnection clusterConnection = connectionFactory.getClusterConnection();
+ Iterable<RedisClusterNode> redisClusterNodes = clusterConnection.clusterGetNodes();
+ Iterator<RedisClusterNode> iterator = redisClusterNodes.iterator();
+ while (iterator.hasNext()) {
+ RedisClusterNode next = iterator.next();
+ scan = clusterConnection.scan(next, ScanOptions.scanOptions().match(matchKey).count(Integer.MAX_VALUE).build());
+ while (scan.hasNext()) {
+ keys.add(new String(scan.next()));
+ }
+ try {
+ scan.close();
+ } catch (IOException e) {
+ throw new RuntimeException("scanMatch关闭失败");
+ }
+ }
+ return keys;
+ }
+ if(redisConnection instanceof JedisConnection){
+ scan = redisConnection.scan(ScanOptions.scanOptions().match(matchKey).count(Integer.MAX_VALUE).build());
+ while (scan.hasNext()){
+ //找到一次就添加一次
+ keys.add(new String(scan.next()));
+ }
+ try {
+ scan.close();
+ } catch (IOException e) {
+ throw new RuntimeException("scanMatch关闭失败");
+ }
+ return keys;
+ }
+
+ return keys;
+}
+
+}
--
Gitblit v1.9.2