From dccf0433d64070d20f14b68793437de48db4f838 Mon Sep 17 00:00:00 2001 From: noear Date: Thu, 13 Apr 2023 12:30:38 +0800 Subject: [PATCH] =?UTF-8?q?sa-token-dao-redisx:=20=E5=8D=87=E7=BA=A7=20red?= =?UTF-8?q?isx=20=E4=B8=BA=201.4.7=EF=BC=88set=20=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=20setex=EF=BC=89=EF=BC=8C=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E5=B9=B6=E5=8F=91=E4=B8=8B=20getTimeout=20=E5=80=BC=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E4=B8=8E=20set=20=E8=A1=8C=E4=B8=BA=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-dependencies/pom.xml | 4 +- .../satoken/dao/SaTokenDaoOfRedisBase64.java | 50 +++---------------- .../satoken/dao/SaTokenDaoOfRedisJson.java | 50 +++---------------- 3 files changed, 16 insertions(+), 88 deletions(-) diff --git a/sa-token-dependencies/pom.xml b/sa-token-dependencies/pom.xml index 8388144b..0459feab 100644 --- a/sa-token-dependencies/pom.xml +++ b/sa-token-dependencies/pom.xml @@ -24,8 +24,8 @@ 6.0.0 3.0.9.RELEASE 2.2.3 - 1.4.5 - 3.2.54 + 1.4.7 + 3.2.65 4.9.17 3.14.4 2.5.0 diff --git a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java index 2c95e5bd..2456e1c7 100644 --- a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java +++ b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java @@ -40,13 +40,7 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao { */ @Override public void set(String key, String value, long timeout) { - if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) { - return; - } - // 判断是否为永不过期 - if (timeout == SaTokenDao.NEVER_EXPIRE) { - redisBucket.store(key, value, (int) SaTokenDao.NEVER_EXPIRE); - } else { + if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) { redisBucket.store(key, value, (int) timeout); } } @@ -57,10 +51,6 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao { @Override public void update(String key, String value) { long expire = getTimeout(key); - // -2 = 无此键 - if (expire == SaTokenDao.NOT_VALUE_EXPIRE) { - return; - } this.set(key, value, expire); } @@ -85,18 +75,9 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao { */ @Override public void updateTimeout(String key, long timeout) { - // 判断是否想要设置为永久 - if (timeout == SaTokenDao.NEVER_EXPIRE) { - long expire = getTimeout(key); - if (expire == SaTokenDao.NEVER_EXPIRE) { - // 如果其已经被设置为永久,则不作任何处理 - } else { - // 如果尚未被设置为永久,那么再次set一次 - this.set(key, this.get(key), timeout); - } - return; + if (redisBucket.exists(key)) { + redisBucket.delay(key, (int) timeout); } - redisBucket.delay(key, (int) timeout); } @@ -113,13 +94,7 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao { */ @Override public void setObject(String key, Object object, long timeout) { - if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) { - return; - } - // 判断是否为永不过期 - if (timeout == SaTokenDao.NEVER_EXPIRE) { - redisBucket.storeAndSerialize(key, object); - } else { + if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) { redisBucket.storeAndSerialize(key, object, (int) timeout); } } @@ -130,10 +105,6 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao { @Override public void updateObject(String key, Object object) { long expire = getObjectTimeout(key); - // -2 = 无此键 - if (expire == SaTokenDao.NOT_VALUE_EXPIRE) { - return; - } this.setObject(key, object, expire); } @@ -158,18 +129,9 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao { */ @Override public void updateObjectTimeout(String key, long timeout) { - // 判断是否想要设置为永久 - if (timeout == SaTokenDao.NEVER_EXPIRE) { - long expire = getObjectTimeout(key); - if (expire == SaTokenDao.NEVER_EXPIRE) { - // 如果其已经被设置为永久,则不作任何处理 - } else { - // 如果尚未被设置为永久,那么再次set一次 - this.setObject(key, this.getObject(key), timeout); - } - return; + if (redisBucket.exists(key)) { + redisBucket.delay(key, (int) timeout); } - redisBucket.delay(key, (int) timeout); } diff --git a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java index 98ae43a1..922fb80a 100644 --- a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java +++ b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java @@ -56,13 +56,7 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao { */ @Override public void set(String key, String value, long timeout) { - if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) { - return; - } - // 判断是否为永不过期 - if (timeout == SaTokenDao.NEVER_EXPIRE) { - redisBucket.store(key, value, (int) SaTokenDao.NEVER_EXPIRE); - } else { + if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) { redisBucket.store(key, value, (int) timeout); } } @@ -73,10 +67,6 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao { @Override public void update(String key, String value) { long expire = getTimeout(key); - // -2 = 无此键 - if (expire == SaTokenDao.NOT_VALUE_EXPIRE) { - return; - } this.set(key, value, expire); } @@ -101,18 +91,9 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao { */ @Override public void updateTimeout(String key, long timeout) { - // 判断是否想要设置为永久 - if (timeout == SaTokenDao.NEVER_EXPIRE) { - long expire = getTimeout(key); - if (expire == SaTokenDao.NEVER_EXPIRE) { - // 如果其已经被设置为永久,则不作任何处理 - } else { - // 如果尚未被设置为永久,那么再次set一次 - this.set(key, this.get(key), timeout); - } - return; + if (redisBucket.exists(key)) { + redisBucket.delay(key, (int) timeout); } - redisBucket.delay(key, (int) timeout); } @@ -129,12 +110,10 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao { */ @Override public void setObject(String key, Object object, long timeout) { - if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) { - return; + if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) { + String value = ONode.serialize(object); + set(key, value, timeout); } - - String value = ONode.serialize(object); - set(key, value, timeout); } /** @@ -143,10 +122,6 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao { @Override public void updateObject(String key, Object object) { long expire = getObjectTimeout(key); - // -2 = 无此键 - if (expire == SaTokenDao.NOT_VALUE_EXPIRE) { - return; - } this.setObject(key, object, expire); } @@ -171,18 +146,9 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao { */ @Override public void updateObjectTimeout(String key, long timeout) { - // 判断是否想要设置为永久 - if (timeout == SaTokenDao.NEVER_EXPIRE) { - long expire = getObjectTimeout(key); - if (expire == SaTokenDao.NEVER_EXPIRE) { - // 如果其已经被设置为永久,则不作任何处理 - } else { - // 如果尚未被设置为永久,那么再次set一次 - this.setObject(key, this.getObject(key), timeout); - } - return; + if (redisBucket.exists(key)) { + redisBucket.delay(key, (int) timeout); } - redisBucket.delay(key, (int) timeout); }