From 9ce29219d6ff923c482f62f1297df7c0f72a433c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Tue, 3 Jan 2023 13:54:16 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E4=B8=8D?= =?UTF-8?q?=E5=BC=BA=E5=88=B6=E8=A6=86=E7=9B=96=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=20=E4=BD=BF=E7=94=A8=E6=AF=8F=E6=AC=A1?= =?UTF-8?q?=E8=B5=8B=E5=80=BC=E7=9A=84=E6=96=B9=E5=BC=8F=20=E7=81=B5?= =?UTF-8?q?=E6=B4=BB=E5=8F=98=E6=9B=B4=E5=BA=8F=E5=88=97=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/SaTokenDaoRedissonJackson.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/sa-token-plugin/sa-token-dao-redisson-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedissonJackson.java b/sa-token-plugin/sa-token-dao-redisson-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedissonJackson.java index b0ea9d45..652e4571 100644 --- a/sa-token-plugin/sa-token-dao-redisson-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedissonJackson.java +++ b/sa-token-plugin/sa-token-dao-redisson-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedissonJackson.java @@ -15,6 +15,7 @@ import org.redisson.api.RBatch; import org.redisson.api.RBucket; import org.redisson.api.RBucketAsync; import org.redisson.api.RedissonClient; +import org.redisson.client.codec.Codec; import org.redisson.codec.JsonJacksonCodec; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; @@ -52,6 +53,11 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { */ public ObjectMapper objectMapper; + /** + * 序列化方式 + */ + public Codec codec; + /** * redisson 客户端 */ @@ -98,7 +104,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { } // 开始初始化相关组件 - redissonClient.getConfig().setCodec(new JsonJacksonCodec(objectMapper)); + this.codec = new JsonJacksonCodec(objectMapper); this.redissonClient = redissonClient; this.isInit = true; } @@ -109,7 +115,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { */ @Override public String get(String key) { - RBucket rBucket = redissonClient.getBucket(key); + RBucket rBucket = redissonClient.getBucket(key, codec); return rBucket.get(); } @@ -123,11 +129,11 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { } // 判断是否为永不过期 if(timeout == SaTokenDao.NEVER_EXPIRE) { - RBucket bucket = redissonClient.getBucket(key); + RBucket bucket = redissonClient.getBucket(key, codec); bucket.set(value); } else { RBatch batch = redissonClient.createBatch(); - RBucketAsync bucket = batch.getBucket(key); + RBucketAsync bucket = batch.getBucket(key, codec); bucket.setAsync(value); bucket.expireAsync(Duration.ofSeconds(timeout)); batch.execute(); @@ -152,7 +158,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { */ @Override public void delete(String key) { - redissonClient.getBucket(key).delete(); + redissonClient.getBucket(key, codec).delete(); } /** @@ -160,7 +166,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { */ @Override public long getTimeout(String key) { - RBucket rBucket = redissonClient.getBucket(key); + RBucket rBucket = redissonClient.getBucket(key, codec); long timeout = rBucket.remainTimeToLive(); return timeout < 0 ? timeout : timeout / 1000; } @@ -181,7 +187,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { } return; } - RBucket rBucket = redissonClient.getBucket(key); + RBucket rBucket = redissonClient.getBucket(key, codec); rBucket.expire(Duration.ofSeconds(timeout)); } @@ -192,7 +198,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { */ @Override public Object getObject(String key) { - RBucket rBucket = redissonClient.getBucket(key); + RBucket rBucket = redissonClient.getBucket(key, codec); return rBucket.get(); } @@ -206,11 +212,11 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { } // 判断是否为永不过期 if(timeout == SaTokenDao.NEVER_EXPIRE) { - RBucket bucket = redissonClient.getBucket(key); + RBucket bucket = redissonClient.getBucket(key, codec); bucket.set(object); } else { RBatch batch = redissonClient.createBatch(); - RBucketAsync bucket = batch.getBucket(key); + RBucketAsync bucket = batch.getBucket(key, codec); bucket.setAsync(object); bucket.expireAsync(Duration.ofSeconds(timeout)); batch.execute(); @@ -236,7 +242,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { */ @Override public void deleteObject(String key) { - redissonClient.getBucket(key).delete(); + redissonClient.getBucket(key, codec).delete(); } /** @@ -244,7 +250,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { */ @Override public long getObjectTimeout(String key) { - RBucket rBucket = redissonClient.getBucket(key); + RBucket rBucket = redissonClient.getBucket(key, codec); long timeout = rBucket.remainTimeToLive(); return timeout < 0 ? timeout : timeout / 1000; } @@ -265,7 +271,7 @@ public class SaTokenDaoRedissonJackson implements SaTokenDao { } return; } - RBucket rBucket = redissonClient.getBucket(key); + RBucket rBucket = redissonClient.getBucket(key, codec); rBucket.expire(Duration.ofSeconds(timeout)); }