From 6241b8acad2651564c1c668a9a54821361fbb4af Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 30 三月 2026 08:34:21 +0800
Subject: [PATCH] chore: sync rsf-server from isolated worktree
---
rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java | 252 ++++++++++++++++++++++++++++++++++++--------------
1 files changed, 181 insertions(+), 71 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java
index 4a2b8c7..d6c0af5 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java
@@ -11,8 +11,6 @@
import java.util.Date;
import java.util.Set;
-import java.util.function.Consumer;
-import java.util.function.Function;
/**
* redis tools
@@ -62,31 +60,6 @@
return null;
}
- private <T> T withJedis(Function<Jedis, T> action) {
- Jedis jedis = this.getJedis();
- if (jedis == null) {
- return null;
- }
- try (jedis) {
- return action.apply(jedis);
- } catch (Exception e) {
- log.error(this.getClass().getSimpleName(), e);
- }
- return null;
- }
-
- private void withJedisVoid(Consumer<Jedis> action) {
- Jedis jedis = this.getJedis();
- if (jedis == null) {
- return;
- }
- try (jedis) {
- action.accept(jedis);
- } catch (Exception e) {
- log.error(this.getClass().getSimpleName(), e);
- }
- }
-
// key - object ----------------------------------------------------------------------------------------------------------
public String set(String flag, String key, Object value) {
@@ -97,7 +70,13 @@
this.delete(flag, key);
return null;
}
- return withJedis(jedis -> jedis.set((flag + LINK + key).getBytes(), Serialize.serialize(value)));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.set((flag + LINK + key).getBytes(), Serialize.serialize(value));
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public String set(String flag, String key, Object value, Integer seconds) {
@@ -108,38 +87,58 @@
this.delete(flag, key);
return null;
}
- return withJedis(jedis -> jedis.setex((flag + LINK + key).getBytes(), seconds, Serialize.serialize(value)));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.setex((flag + LINK + key).getBytes(), seconds, Serialize.serialize(value));
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public <T> T get(String flag, String key) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
byte[] bytes = jedis.get((flag + LINK + key).getBytes());
if(bytes == null || bytes.length == 0 ) {
return null;
}
return (T) Serialize.unSerialize(bytes);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Long delete(String flag, String key) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.del((flag + LINK + key).getBytes()));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.del((flag + LINK + key).getBytes());
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Long clear(String flag) {
if(!this.initialize) {
return null;
}
+ Jedis jedis = this.getJedis();
this.setValue(flag, "CLEARING", "true");
- return withJedis(jedis -> {
+ try{
Object returnValue = jedis.eval("local keys = redis.call('keys', ARGV[1]) for i=1,#keys,1000 do redis.call('del', unpack(keys, i, math.min(i+4999, #keys))) end return #keys",0,flag + LINK + "*");
return Long.parseLong(String.valueOf(returnValue));
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
// 涓哄凡瀛樺湪鐨刱ey璁剧疆杩囨湡鏃堕棿 - 绉�
@@ -147,9 +146,12 @@
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expire((flag + LINK + key).getBytes(), seconds);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
// 涓哄凡瀛樺湪鐨刱ey璁剧疆杩囨湡鏃堕棿 - 鍏蜂綋鍒版椂闂存埑 锛堢锛�
@@ -157,9 +159,12 @@
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expireAt((flag + LINK + key).getBytes(), toTime.getTime()/1000);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
// 鑾峰彇杩囨湡鍓╀綑鏃堕棿锛堢锛� ttl == -1 娌℃湁璁剧疆杩囨湡鏃堕棿锛� ttl == -2 key涓嶅瓨鍦�
@@ -167,7 +172,13 @@
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.ttl((flag + LINK + key).getBytes()));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.ttl((flag + LINK + key).getBytes());
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
@@ -177,21 +188,39 @@
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.set(flag + LINK + key, value));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.set(flag + LINK + key, value);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public String setValue(String flag, String key, String value, Integer seconds) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.setex(flag + LINK + key, seconds , value));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.setex(flag + LINK + key, seconds , value);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public String getValue(String flag, String key) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.get(flag + LINK + key));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.get(flag + LINK + key);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Long deleteValue(String flag, String... key) {
@@ -199,13 +228,17 @@
return null;
}
- return withJedis(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
String[] keys = new String[key.length];
for(int i=0;i<key.length;i++){
keys[i] = flag + LINK + key[i];
}
return jedis.del(keys);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Long clearValue(String flag) {
@@ -214,28 +247,39 @@
}
this.setValue(flag, "CLEARING", "true");
- return withJedis(jedis -> {
+ Jedis jedis = this.getJedis();
+
+ try{
Object returnValue = jedis.eval("return redis.call('del', unpack(redis.call('keys', ARGV[1])))",0,flag + LINK + "*");
return Long.parseLong(String.valueOf(returnValue));
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public void setValueExpire(String flag, String key,int seconds){
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expire((flag + LINK + key).getBytes(), seconds);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
public void setValueExpireAt(String flag, String key,Date atTime){
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expireAt((flag + LINK + key).getBytes(), atTime.getTime()/1000);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
@@ -249,63 +293,95 @@
deleteMap(name,key);
return null;
}
- return withJedis(jedis -> jedis.hset(name.getBytes(), key.getBytes(), Serialize.serialize(value)));
+ Jedis jedis = this.getJedis();
+ try {
+ return jedis.hset(name.getBytes(), key.getBytes(), Serialize.serialize(value));
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public <T> T getMap(String name, String key) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
byte[] bytes = jedis.hget(name.getBytes(), key.getBytes());
if (bytes == null || bytes.length == 0) {
return null;
}
return (T) Serialize.unSerialize(bytes);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Set<String> getMapKeys(String name) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.hkeys(name));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.hkeys(name);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Long deleteMap(String name, String... key) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
String[] keys = new String[key.length];
System.arraycopy(key, 0, keys, 0, key.length);
return jedis.hdel(name, keys);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Long clearMap(String name) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.del(name));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.del(name);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public void setMapExpire(String name,int seconds){
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expire(name.getBytes(), seconds);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
public void setMapExpireAt(String name,Date atTime){
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expireAt(name.getBytes(), atTime.getTime()/1000);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
@@ -319,7 +395,13 @@
if(value == null){
return null;
}
- return withJedis(jedis -> jedis.rpush(name.getBytes(), Serialize.serialize(value)));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.rpush(name.getBytes(), Serialize.serialize(value));
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
// 鑾峰彇鍒楄〃澶撮儴鍏冪礌 && 鍒犻櫎
@@ -327,13 +409,17 @@
if(!this.initialize){
return null;
}
- return withJedis(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
byte[] bytes = jedis.lpop(name.getBytes());
if(bytes == null || bytes.length == 0) {
return null;
}
return (T) Serialize.unSerialize(bytes);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
// 鍒犻櫎
@@ -341,25 +427,37 @@
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.del(name));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.del(name);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public void setListExpire(String name, int seconds){
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expire(name.getBytes(), seconds);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
public void setListExpireAt(String name, Date atTime){
if(!this.initialize) {
return;
}
- withJedisVoid(jedis -> {
+ Jedis jedis = this.getJedis();
+ try{
jedis.expireAt(name.getBytes(), atTime.getTime()/1000);
- });
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
}
// count ----------------------------------------------------------------------------------------------------------
@@ -368,14 +466,26 @@
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.incr("COUNT." + key));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.incr("COUNT." + key);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
public Long decr(String key) {
if(!this.initialize) {
return null;
}
- return withJedis(jedis -> jedis.decr("COUNT." + key));
+ Jedis jedis = this.getJedis();
+ try{
+ return jedis.decr("COUNT." + key);
+ } catch (Exception e) {
+ log.error(this.getClass().getSimpleName(), e);
+ }
+ return null;
}
}
--
Gitblit v1.9.1