diff --git a/pom.xml b/pom.xml index bc7ecbadfeeca0b1ebdd1c12e301d492f8327eb1..a39ac53c9e690cb13d6edb372a4406fb7f1b8afe 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.jboot jboot - 4.1.5 + 4.1.5-GEH jar jboot @@ -41,7 +41,7 @@ - 5.1.2 + 5.1.9 2022.2 3.5 3.4 @@ -57,7 +57,7 @@ 32.1.2-jre 2.2.5 - 3.8.0 + 5.1.3 1.16.1 2.10.9.2 2.9.3 @@ -67,7 +67,7 @@ 4.5.12 4.4.13 4.1.52.Final - 1.8.3 + 1.8.7 2.7.23 3.14.0.Final 1.5.1 diff --git a/src/main/java/io/jboot/components/rpc/dubbo/DubboUtil.java b/src/main/java/io/jboot/components/rpc/dubbo/DubboUtil.java index 66b0dfb88b5157a3916ec3212833fa5cf7d786da..c8b48e0844f6ebc63b3546b7c262022b536f8680 100644 --- a/src/main/java/io/jboot/components/rpc/dubbo/DubboUtil.java +++ b/src/main/java/io/jboot/components/rpc/dubbo/DubboUtil.java @@ -73,7 +73,7 @@ class DubboUtil { dubboBootstrap.monitor(monitorConfig); - //monitor 配置 + //metrics 配置 MetricsConfig metricsConfig = config(MetricsConfig.class, "jboot.rpc.dubbo.metrics"); dubboBootstrap.metrics(metricsConfig); diff --git a/src/main/java/io/jboot/support/redis/JbootRedis.java b/src/main/java/io/jboot/support/redis/JbootRedis.java index 78888fc0fe12f06c6d10078f09f9cec49a7d65c9..33c03ff742b57969155e09cf8402ca8ff3992be3 100644 --- a/src/main/java/io/jboot/support/redis/JbootRedis.java +++ b/src/main/java/io/jboot/support/redis/JbootRedis.java @@ -553,7 +553,7 @@ public interface JbootRedis { * 具有相同 score 值的成员按字典序(lexicographical order )来排列。 * 如果你需要成员按 score 值递减(从大到小)来排列,请使用 ZREVRANGE 命令。 */ - Set zrange(Object key, long start, long end); + List zrange(Object key, long start, long end); /** * 返回有序集 key 中,指定区间内的成员。 @@ -561,13 +561,13 @@ public interface JbootRedis { * 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。 * 除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和 ZRANGE 命令一样。 */ - Set zrevrange(Object key, long start, long end); + List zrevrange(Object key, long start, long end); /** * 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。 * 有序集成员按 score 值递增(从小到大)次序排列。 */ - Set zrangeByScore(Object key, double min, double max); + List zrangeByScore(Object key, double min, double max); /** * 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。 diff --git a/src/main/java/io/jboot/support/redis/jedis/JbootJedisClusterImpl.java b/src/main/java/io/jboot/support/redis/jedis/JbootJedisClusterImpl.java index df7dd63aa8495aab325d5e8130dbdb21ddc4eee6..1ce3c6168802fb9b7811afa878783035c3fe19dd 100644 --- a/src/main/java/io/jboot/support/redis/jedis/JbootJedisClusterImpl.java +++ b/src/main/java/io/jboot/support/redis/jedis/JbootJedisClusterImpl.java @@ -25,9 +25,12 @@ import io.jboot.utils.StrUtil; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import redis.clients.jedis.*; import redis.clients.jedis.exceptions.JedisConnectionException; +import redis.clients.jedis.params.ScanParams; +import redis.clients.jedis.resps.ScanResult; import java.util.*; import java.util.Map.Entry; +import java.util.stream.Collectors; /** * 参考: com.jfinal.plugin.redis @@ -219,16 +222,17 @@ public class JbootJedisClusterImpl extends JbootRedisBase { @Override public Set keys(String pattern) { HashSet keys = new HashSet<>(); - Map clusterNodes = jedisCluster.getClusterNodes(); + Map clusterNodes = jedisCluster.getClusterNodes(); for (String k : clusterNodes.keySet()) { - JedisPool jp = clusterNodes.get(k); - Jedis jedis = jp.getResource(); + ConnectionPool cp = clusterNodes.get(k); + Connection conn = cp.getResource(); try { - keys.addAll(jedis.keys(pattern)); + keys.addAll(conn.executeCommand(new ClusterCommandObjects().keys(pattern))); } catch (Exception e) { LOG.error(e.toString(), e); } finally { - jedis.close(); //用完一定要close这个链接!!! + conn.close(); + cp.close(); //用完一定要close这个链接!!! } } return keys; @@ -913,13 +917,12 @@ public class JbootJedisClusterImpl extends JbootRedisBase { // jedisCluster.getClusterNodes().get("aa").getResource().ping // return jedisCluster..ping(); - Map nodes = jedisCluster.getClusterNodes(); + Map nodes = jedisCluster.getClusterNodes(); if (nodes != null) { - for (JedisPool pool : nodes.values()) { - try (Jedis node = pool.getResource()) { - String ret = node.ping(); - if (ret != null) { - return ret; + for (ConnectionPool pool : nodes.values()) { + try (Connection node = pool.getResource()) { + if (node.ping()) { + return "PONG"; } } } @@ -1129,11 +1132,10 @@ public class JbootJedisClusterImpl extends JbootRedisBase { */ @Override @SuppressWarnings("rawtypes") - public Set zrange(Object key, long start, long end) { + public List zrange(Object key, long start, long end) { - Set data = jedisCluster.zrange(keyToBytes(key), start, end); - Set result = new LinkedHashSet(); // 有序集合必须 LinkedHashSet - valueSetFromBytesSet(data, result); + List data = jedisCluster.zrange(keyToBytes(key), start, end); + List result = data.stream().map(d->valueFromBytes(d)).collect(Collectors.toList()); // 有序集合必须 LinkedHashSet return result; } @@ -1146,11 +1148,10 @@ public class JbootJedisClusterImpl extends JbootRedisBase { */ @Override @SuppressWarnings("rawtypes") - public Set zrevrange(Object key, long start, long end) { + public List zrevrange(Object key, long start, long end) { - Set data = jedisCluster.zrevrange(keyToBytes(key), start, end); - Set result = new LinkedHashSet(); // 有序集合必须 LinkedHashSet - valueSetFromBytesSet(data, result); + List data = jedisCluster.zrevrange(keyToBytes(key), start, end); + List result = data.stream().map(d->valueFromBytes(d)).collect(Collectors.toList()); // 有序集合必须 LinkedHashSet return result; } @@ -1161,11 +1162,10 @@ public class JbootJedisClusterImpl extends JbootRedisBase { */ @Override @SuppressWarnings("rawtypes") - public Set zrangeByScore(Object key, double min, double max) { + public List zrangeByScore(Object key, double min, double max) { - Set data = jedisCluster.zrangeByScore(keyToBytes(key), min, max); - Set result = new LinkedHashSet(); // 有序集合必须 LinkedHashSet - valueSetFromBytesSet(data, result); + List data = jedisCluster.zrangeByScore(keyToBytes(key), min, max); + List result = data.stream().map(d->valueFromBytes(d)).collect(Collectors.toList()); // 有序集合必须 LinkedHashSet return result; } diff --git a/src/main/java/io/jboot/support/redis/jedis/JbootJedisImpl.java b/src/main/java/io/jboot/support/redis/jedis/JbootJedisImpl.java index 6b58582a549bfd7b4fd5132686dd376eb5a4b6ce..cc58035eef3cca0b753c32aaeb0513595e5be930 100644 --- a/src/main/java/io/jboot/support/redis/jedis/JbootJedisImpl.java +++ b/src/main/java/io/jboot/support/redis/jedis/JbootJedisImpl.java @@ -24,9 +24,12 @@ import io.jboot.utils.QuietlyUtil; import io.jboot.utils.StrUtil; import redis.clients.jedis.*; import redis.clients.jedis.exceptions.JedisConnectionException; +import redis.clients.jedis.params.ScanParams; +import redis.clients.jedis.resps.ScanResult; import java.util.*; import java.util.Map.Entry; +import java.util.stream.Collectors; /** * 参考: com.jfinal.plugin.redis @@ -993,7 +996,7 @@ public class JbootJedisImpl extends JbootRedisBase { public List blpop(Object... keys) { Jedis jedis = getJedis(); try { - List data = jedis.blpop(keysToBytesArray(keys)); + List data = jedis.blpop(this.config.getTimeout(),keysToBytesArray(keys)); return valueListFromBytesList(data); } finally { returnResource(jedis); @@ -1039,7 +1042,7 @@ public class JbootJedisImpl extends JbootRedisBase { public List brpop(Object... keys) { Jedis jedis = getJedis(); try { - List data = jedis.brpop(keysToBytesArray(keys)); + List data = jedis.brpop(this.config.getTimeout(),keysToBytesArray(keys)); return valueListFromBytesList(data); } finally { returnResource(jedis); @@ -1329,12 +1332,11 @@ public class JbootJedisImpl extends JbootRedisBase { */ @Override @SuppressWarnings("rawtypes") - public Set zrange(Object key, long start, long end) { + public List zrange(Object key, long start, long end) { Jedis jedis = getJedis(); try { - Set data = jedis.zrange(keyToBytes(key), start, end); - Set result = new LinkedHashSet(); // 有序集合必须 LinkedHashSet - valueSetFromBytesSet(data, result); + List data = jedis.zrange(keyToBytes(key), start, end); + List result = data.stream().map(d->valueFromBytes(d)).collect(Collectors.toList()); // 有序集合必须 LinkedHashSet return result; } finally { returnResource(jedis); @@ -1349,12 +1351,11 @@ public class JbootJedisImpl extends JbootRedisBase { */ @Override @SuppressWarnings("rawtypes") - public Set zrevrange(Object key, long start, long end) { + public List zrevrange(Object key, long start, long end) { Jedis jedis = getJedis(); try { - Set data = jedis.zrevrange(keyToBytes(key), start, end); - Set result = new LinkedHashSet(); // 有序集合必须 LinkedHashSet - valueSetFromBytesSet(data, result); + List data = jedis.zrevrange(keyToBytes(key), start, end); + List result = data.stream().map(d->valueFromBytes(d)).collect(Collectors.toList()); // 有序集合必须 LinkedHashSet return result; } finally { returnResource(jedis); @@ -1367,12 +1368,11 @@ public class JbootJedisImpl extends JbootRedisBase { */ @Override @SuppressWarnings("rawtypes") - public Set zrangeByScore(Object key, double min, double max) { + public List zrangeByScore(Object key, double min, double max) { Jedis jedis = getJedis(); try { - Set data = jedis.zrangeByScore(keyToBytes(key), min, max); - Set result = new LinkedHashSet(); // 有序集合必须 LinkedHashSet - valueSetFromBytesSet(data, result); + List data = jedis.zrangeByScore(keyToBytes(key), min, max); + List result = data.stream().map(d->valueFromBytes(d)).collect(Collectors.toList()); // 有序集合必须 LinkedHashSet return result; } finally { returnResource(jedis); diff --git a/src/main/java/io/jboot/support/redis/lettuce/JbootLettuceImpl.java b/src/main/java/io/jboot/support/redis/lettuce/JbootLettuceImpl.java index 260cc82ba01a485e8ac3fc727569972fae6899f8..a9177729795ad75f7d0648ed3416b373c921f9f0 100644 --- a/src/main/java/io/jboot/support/redis/lettuce/JbootLettuceImpl.java +++ b/src/main/java/io/jboot/support/redis/lettuce/JbootLettuceImpl.java @@ -422,17 +422,17 @@ public class JbootLettuceImpl implements JbootRedis { } @Override - public Set zrange(Object key, long start, long end) { + public List zrange(Object key, long start, long end) { return null; } @Override - public Set zrevrange(Object key, long start, long end) { + public List zrevrange(Object key, long start, long end) { return null; } @Override - public Set zrangeByScore(Object key, double min, double max) { + public List zrangeByScore(Object key, double min, double max) { return null; } diff --git a/src/main/java/io/jboot/support/redis/redisson/JbootRedissonImpl.java b/src/main/java/io/jboot/support/redis/redisson/JbootRedissonImpl.java index aa75966d3ed4d5536df2e6882896b95d18d258d5..7957c60420f3b7697fe788576cf700f9e48d743b 100644 --- a/src/main/java/io/jboot/support/redis/redisson/JbootRedissonImpl.java +++ b/src/main/java/io/jboot/support/redis/redisson/JbootRedissonImpl.java @@ -411,17 +411,17 @@ public class JbootRedissonImpl implements JbootRedis { } @Override - public Set zrange(Object key, long start, long end) { + public List zrange(Object key, long start, long end) { return null; } @Override - public Set zrevrange(Object key, long start, long end) { + public List zrevrange(Object key, long start, long end) { return null; } @Override - public Set zrangeByScore(Object key, double min, double max) { + public List zrangeByScore(Object key, double min, double max) { return null; } diff --git a/src/test/java/io/jboot/test/cache/redis/RedisCacheTester.java b/src/test/java/io/jboot/test/cache/redis/RedisCacheTester.java index 05d60eb9d163a9ad27730d237c2c77ceea9d3d6e..dbcd1ff7fd253753637aea3f9c00d91c10689902 100644 --- a/src/test/java/io/jboot/test/cache/redis/RedisCacheTester.java +++ b/src/test/java/io/jboot/test/cache/redis/RedisCacheTester.java @@ -14,6 +14,7 @@ public class RedisCacheTester { public void config() { JbootApplication.setBootArg("jboot.cache.type", "redis"); JbootApplication.setBootArg("jboot.cache.redis.host", "127.0.0.1"); + JbootApplication.setBootArg("jboot.cache.redis.password", "123456"); JbootApplication.setBootArg("jboot.cache.redis.port", "6379"); JbootApplication.setBootArg("jboot.cache.redis.globalKeyPrefix", "myapp"); } @@ -28,6 +29,7 @@ public class RedisCacheTester { public void testPut() { Jboot.getCache().put("cachename", "key", "value"); String value = Jboot.getCache().get("cachename", "key"); + System.out.println(Jboot.getCache().getTtl("cachename", "key")); Assert.assertNotNull(value); } diff --git a/src/test/java/io/jboot/test/redis/RedisTester.java b/src/test/java/io/jboot/test/redis/RedisTester.java index 45bb80db81c168e528a88d1e60b81226e6e57e30..fcde6617a23b20a2df89b148cb9f97bea5492a9e 100644 --- a/src/test/java/io/jboot/test/redis/RedisTester.java +++ b/src/test/java/io/jboot/test/redis/RedisTester.java @@ -17,6 +17,7 @@ public class RedisTester { @Before public void config() { JbootApplication.setBootArg("jboot.redis.host", "127.0.0.1"); + JbootApplication.setBootArg("jboot.redis.password", "123456"); JbootApplication.setBootArg("jboot.redis.port", "6379"); } @@ -26,6 +27,7 @@ public class RedisTester { String key = "JbootRedisValue"; Assert.assertEquals("OK", redis.set(key, "10")); Assert.assertEquals("10", redis.get(key)); + System.out.println(redis.ttl(key)); redis.del(key); }