From 83c4add3753cf5cce04bbfb2b94535efaf0a6f35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=91=E9=9B=A8?= <2375294554@qq.com> Date: Mon, 19 May 2025 11:20:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=85=E7=A9=BAredis?= =?UTF-8?q?=E7=9A=84key=E6=96=B9=E6=B3=95=E3=80=82=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8A=A01=EF=BC=8C=E5=87=8F1=E6=96=B9=E6=B3=95=20--RedisUtils.?= =?UTF-8?q?java=20=E6=96=B0=E7=9A=84=E6=96=B9=E6=B3=95=20--emptyAll.lua=20?= =?UTF-8?q?=E6=B8=85=E7=A9=BAredis=E7=9A=84key=E7=9A=84lua=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/xiaozhi/common/redis/RedisUtils.java | 20 ++++++++++++++++++- .../src/main/resources/lua/emptyAll.lua | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 main/manager-api/src/main/resources/lua/emptyAll.lua diff --git a/main/manager-api/src/main/java/xiaozhi/common/redis/RedisUtils.java b/main/manager-api/src/main/java/xiaozhi/common/redis/RedisUtils.java index 4bf68856..c81677e9 100644 --- a/main/manager-api/src/main/java/xiaozhi/common/redis/RedisUtils.java +++ b/main/manager-api/src/main/java/xiaozhi/common/redis/RedisUtils.java @@ -45,6 +45,24 @@ public class RedisUtils { */ public final static long NOT_EXPIRE = -1L; + public Long increment(String key, long expire) { + Long increment = redisTemplate.opsForValue().increment(key, 1L); + if (expire != NOT_EXPIRE) { + expire(key, expire); + } + return increment; + } + + public Long increment(String key) { + return redisTemplate.opsForValue().increment(key, 1L); + } + + public Long decrement(String key) { + return redisTemplate.opsForValue().decrement(key, 1L); + } + + + public void set(String key, Object value, long expire) { redisTemplate.opsForValue().set(key, value); if (expire != NOT_EXPIRE) { @@ -139,7 +157,7 @@ public class RedisUtils { */ public void emptyAll() { // Lua 脚本 FLUSHALL是redis清空所有库的命令 - String luaScript ="redis.call('FLUSHALL')"; + String luaScript =resourceUtils.loadString("lua/emptyAll.lua"); // 创建 DefaultRedisScript 对象 DefaultRedisScript redisScript = new DefaultRedisScript<>(); diff --git a/main/manager-api/src/main/resources/lua/emptyAll.lua b/main/manager-api/src/main/resources/lua/emptyAll.lua new file mode 100644 index 00000000..1d984cb7 --- /dev/null +++ b/main/manager-api/src/main/resources/lua/emptyAll.lua @@ -0,0 +1 @@ +redis.call('FLUSHALL') \ No newline at end of file