From 16534568f4c4e5e54145b1354232b15b3412e940 Mon Sep 17 00:00:00 2001
From: Gitee_zyf <1345267730@qq.com>
Date: Thu, 4 Aug 2022 11:17:28 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E5=B8=83?=
=?UTF-8?q?=E5=BC=8F=E9=94=81=E4=B8=BA=E8=87=AA=E5=8A=A8=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=EF=BC=8C=E4=B8=8D=E7=94=A8=E7=89=B9=E5=88=AB=E8=AE=BE=E7=BD=AE?=
=?UTF-8?q?=E5=BC=95=E7=94=A8=E9=A1=B9=E7=9B=AE=E7=9A=84=E6=89=AB=E6=8F=8F?=
=?UTF-8?q?=20sacnBasePackages=E5=9C=B0=E5=9D=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
redis-shared-lock/pom.xml | 5 +++++
.../com/ls/redisSharedLock/config/RedisConfig.java | 12 ++++++++----
.../src/main/resources/META-INF/spring.factories | 5 +++++
.../src/main/java/com/ls/demo/Application.java | 2 +-
4 files changed, 19 insertions(+), 5 deletions(-)
create mode 100644 redis-shared-lock/src/main/resources/META-INF/spring.factories
diff --git a/redis-shared-lock/pom.xml b/redis-shared-lock/pom.xml
index 0694d47..6cf1076 100644
--- a/redis-shared-lock/pom.xml
+++ b/redis-shared-lock/pom.xml
@@ -20,6 +20,11 @@
org.springframework.boot
spring-boot-starter-data-redis
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+
org.springframework.boot
diff --git a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
index a5eca76..c317e80 100644
--- a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
+++ b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
@@ -7,6 +7,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
@@ -21,7 +22,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig;
@Configuration
-@EnableAutoConfiguration
+//@EnableAutoConfiguration 为了在其他项目中作为start-组件 我们使用springboot 自动装配
public class RedisConfig {
public static Logger logger = LoggerFactory.getLogger(RedisConfig.class);
@@ -29,7 +30,7 @@ public class RedisConfig {
private Long defaultExpiration;
@Bean
- @ConfigurationProperties(prefix = "spring.redis")
+ @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
public JedisPoolConfig getRedisConfig() {
JedisPoolConfig config = new JedisPoolConfig();
return config;
@@ -37,7 +38,7 @@ public class RedisConfig {
@Primary
@Bean(name = "jedisConnectionFactory")
- @ConfigurationProperties(prefix = "spring.redis")
+ @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
public JedisConnectionFactory getConnectionFactory() {
JedisConnectionFactory factory = new JedisConnectionFactory();
JedisPoolConfig config = getRedisConfig();
@@ -49,6 +50,7 @@ public class RedisConfig {
@Bean(name = "redisJdkTemplate")
+ @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
public RedisTemplate getRedisJdkTemplate() {
RedisTemplate template = new RedisTemplate<>();
@@ -62,6 +64,7 @@ public class RedisConfig {
}
@Bean(name = "redisTemplate")
+ @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
public RedisTemplate getRedisTemplate() {
// RedisTemplate redisTemplate = new RedisTemplate<>();
// redisTemplate.setConnectionFactory(getConnectionFactory());
@@ -88,12 +91,13 @@ public class RedisConfig {
}
@Bean(name = "stringRedisTemplate")
+ @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
public StringRedisTemplate getStringRedisTemplate() {
return new StringRedisTemplate(getConnectionFactory());
}
@Bean
- @ConfigurationProperties(prefix = "spring.redis")
+ @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
public CacheManager cacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager(getRedisTemplate());
redisCacheManager.setDefaultExpiration(defaultExpiration);
diff --git a/redis-shared-lock/src/main/resources/META-INF/spring.factories b/redis-shared-lock/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..16fb3a8
--- /dev/null
+++ b/redis-shared-lock/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,5 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+com.ls.redisSharedLock.config.RedisConfig,\
+com.ls.redisSharedLock.RedisClient,\
+com.ls.redisSharedLock.lock.handler.LockHandler
+
diff --git a/shared-lock-demo/src/main/java/com/ls/demo/Application.java b/shared-lock-demo/src/main/java/com/ls/demo/Application.java
index 432bf8f..cbe0b23 100644
--- a/shared-lock-demo/src/main/java/com/ls/demo/Application.java
+++ b/shared-lock-demo/src/main/java/com/ls/demo/Application.java
@@ -3,7 +3,7 @@ package com.ls.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-@SpringBootApplication(scanBasePackages = {"com.ls"})
+@SpringBootApplication//(scanBasePackages = {"com.ls"}) 因为使用自动装配所以 不用特别设置扫描包的root地址 就可以自动扫描并配置 sharelock
public class Application {
public static void main(String[] args) {
--
Gitee
From 046a34208612699b4a7108b3d0dc04a7cac0df75 Mon Sep 17 00:00:00 2001
From: feige <134526773>
Date: Wed, 21 Sep 2022 07:28:26 +0800
Subject: [PATCH 2/4] sppringboot version update -> 2.2.4
---
redis-shared-lock/pom.xml | 6 ++-
.../redisSharedLock/config/RedisConfig.java | 41 ++++-----------
.../lock/annotion/SharedLock.java | 2 +-
shared-lock-demo/pom.xml | 2 +-
.../src/main/resources/application.yml | 51 ++++++++++++-------
.../target/classes/application.yml | 51 ++++++++++++-------
6 files changed, 84 insertions(+), 69 deletions(-)
diff --git a/redis-shared-lock/pom.xml b/redis-shared-lock/pom.xml
index 6cf1076..a0f8c17 100644
--- a/redis-shared-lock/pom.xml
+++ b/redis-shared-lock/pom.xml
@@ -8,7 +8,7 @@
org.springframework.boot
spring-boot-starter-parent
- 1.5.13.RELEASE
+ 2.2.4.RELEASE
com.ls
@@ -35,6 +35,10 @@
com.fasterxml.jackson.core
jackson-databind
+
+ org.apache.commons
+ commons-pool2
+
diff --git a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
index c317e80..40d0ba8 100644
--- a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
+++ b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
@@ -14,12 +14,13 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.redis.cache.RedisCacheManager;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
-import redis.clients.jedis.JedisPoolConfig;
+
@Configuration
//@EnableAutoConfiguration 为了在其他项目中作为start-组件 我们使用springboot 自动装配
@@ -29,32 +30,14 @@ public class RedisConfig {
@Value("${spring.redis.defaultExpiration:3600}")
private Long defaultExpiration;
- @Bean
- @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public JedisPoolConfig getRedisConfig() {
- JedisPoolConfig config = new JedisPoolConfig();
- return config;
- }
-
- @Primary
- @Bean(name = "jedisConnectionFactory")
- @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public JedisConnectionFactory getConnectionFactory() {
- JedisConnectionFactory factory = new JedisConnectionFactory();
- JedisPoolConfig config = getRedisConfig();
- factory.setPoolConfig(config);
- logger.info("redis连接池配置成功");
- return factory;
- }
-
@Bean(name = "redisJdkTemplate")
@ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public RedisTemplate getRedisJdkTemplate() {
+ public RedisTemplate getRedisJdkTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate template = new RedisTemplate<>();
- template.setConnectionFactory(getConnectionFactory());
+ template.setConnectionFactory(redisConnectionFactory);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
template.setKeySerializer(stringRedisSerializer);
@@ -65,7 +48,7 @@ public class RedisConfig {
@Bean(name = "redisTemplate")
@ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public RedisTemplate getRedisTemplate() {
+ public RedisTemplate getRedisTemplate( RedisConnectionFactory redisConnectionFactory) {
// RedisTemplate redisTemplate = new RedisTemplate<>();
// redisTemplate.setConnectionFactory(getConnectionFactory());
// StringRedisSerializer stringRedisSerializer = new
@@ -75,7 +58,7 @@ public class RedisConfig {
// return redisTemplate;
RedisTemplate template = new RedisTemplate<>();
- template.setConnectionFactory(getConnectionFactory());
+ template.setConnectionFactory(redisConnectionFactory);
Jackson2JsonRedisSerializer> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
@@ -92,17 +75,11 @@ public class RedisConfig {
@Bean(name = "stringRedisTemplate")
@ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public StringRedisTemplate getStringRedisTemplate() {
- return new StringRedisTemplate(getConnectionFactory());
+ public StringRedisTemplate getStringRedisTemplate( RedisConnectionFactory redisConnectionFactory) {
+ return new StringRedisTemplate(redisConnectionFactory);
}
- @Bean
- @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public CacheManager cacheManager() {
- RedisCacheManager redisCacheManager = new RedisCacheManager(getRedisTemplate());
- redisCacheManager.setDefaultExpiration(defaultExpiration);
- return redisCacheManager;
- }
+
// @Bean
// public RedisTemplate redisTemplate(RedisConnectionFactory
diff --git a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/lock/annotion/SharedLock.java b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/lock/annotion/SharedLock.java
index 4ff2c4c..a393ae5 100644
--- a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/lock/annotion/SharedLock.java
+++ b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/lock/annotion/SharedLock.java
@@ -19,7 +19,7 @@ public @interface SharedLock {
String value() default "";
@AliasFor("value")
- String key();
+ String key() default "";
LockPolicy policy() default LockPolicy.throw_exception;
diff --git a/shared-lock-demo/pom.xml b/shared-lock-demo/pom.xml
index a7f31d0..98aadb7 100644
--- a/shared-lock-demo/pom.xml
+++ b/shared-lock-demo/pom.xml
@@ -8,7 +8,7 @@
org.springframework.boot
spring-boot-starter-parent
- 1.5.13.RELEASE
+ 2.2.4.RELEASE
com.ls
diff --git a/shared-lock-demo/src/main/resources/application.yml b/shared-lock-demo/src/main/resources/application.yml
index 66f930e..eb5c2af 100644
--- a/shared-lock-demo/src/main/resources/application.yml
+++ b/shared-lock-demo/src/main/resources/application.yml
@@ -7,22 +7,39 @@ server:
debug: false
+#spring:
+#
+## profiles:
+## active: test,module,common
+#
+# main:
+# banner-mode: "off"
+# redis:
+# database: 0
+# hostName: your ip
+# port: 2001
+# password: your pass word
+# pool:
+# maxActive: 50
+# maxWait: 3000
+# maxIdle: 30
+# minIdle: 10
+# timeout: 1000
spring:
+ redis:
+ cluster:
+ nodes:
+ - 192.168.2.118:11001
+ - 192.168.2.112:11001
+ - 192.168.2.119:11001
+ - 192.168.2.118:11002
+ - 192.168.2.112:11002
+ - 192.168.2.119:11002
+ timeout: 60000ms
-# profiles:
-# active: test,module,common
-
- main:
- banner-mode: "off"
- redis:
- database: 0
- hostName: your ip
- port: 2001
- password: your pass word
- pool:
- maxActive: 50
- maxWait: 3000
- maxIdle: 30
- minIdle: 10
- timeout: 1000
- defaultExpiration: 3600
\ No newline at end of file
+ lettuce:
+ pool:
+ maxActive: 50
+ maxWait: 3000
+ maxIdle: 30
+ minIdle: 10
diff --git a/shared-lock-demo/target/classes/application.yml b/shared-lock-demo/target/classes/application.yml
index ef1c386..eb5c2af 100644
--- a/shared-lock-demo/target/classes/application.yml
+++ b/shared-lock-demo/target/classes/application.yml
@@ -7,22 +7,39 @@ server:
debug: false
+#spring:
+#
+## profiles:
+## active: test,module,common
+#
+# main:
+# banner-mode: "off"
+# redis:
+# database: 0
+# hostName: your ip
+# port: 2001
+# password: your pass word
+# pool:
+# maxActive: 50
+# maxWait: 3000
+# maxIdle: 30
+# minIdle: 10
+# timeout: 1000
spring:
+ redis:
+ cluster:
+ nodes:
+ - 192.168.2.118:11001
+ - 192.168.2.112:11001
+ - 192.168.2.119:11001
+ - 192.168.2.118:11002
+ - 192.168.2.112:11002
+ - 192.168.2.119:11002
+ timeout: 60000ms
-# profiles:
-# active: test,module,common
-
- main:
- banner-mode: "off"
- redis:
- database: 0
- hostName: 10.0.2.80
- port: 2001
- password: wcycno1
- pool:
- maxActive: 50
- maxWait: 3000
- maxIdle: 30
- minIdle: 10
- timeout: 1000
- defaultExpiration: 3600
\ No newline at end of file
+ lettuce:
+ pool:
+ maxActive: 50
+ maxWait: 3000
+ maxIdle: 30
+ minIdle: 10
--
Gitee
From 557a3b03be3d86840ea625de96104ed1e10a90b4 Mon Sep 17 00:00:00 2001
From: feige <134526773>
Date: Wed, 21 Sep 2022 20:49:57 +0800
Subject: [PATCH 3/4] SSSSSSSS
---
.../com/ls/redisSharedLock/RedisClient.java | 29 +++++++++++++++++++
.../redisSharedLock/config/RedisConfig.java | 6 ----
shared-lock-demo/pom.xml | 11 +++++++
.../src/main/resources/application.yml | 3 +-
.../target/classes/application.yml | 3 +-
5 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java
index d9931f3..a521c8d 100644
--- a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java
+++ b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java
@@ -41,6 +41,35 @@ public class RedisClient {
return getRedisTemplate().execute(new SessionCallback() {
@Override
public Boolean execute(RedisOperations operations) throws DataAccessException {
+ /**
+ *
+ // ----
+ // local isExists = redis.call('exists',KEYS[1])
+ //if isExists == 1 then
+ // redis.call('hincrby',KEYS[1],KEYS[2],ARGV[3])
+ // redis.call('hset',KEYS[1],KEYS[3],ARGV[2])
+ //end
+ //if isExists == 0 then
+ // redis.call('hset',KEYS[1],KEYS[2],ARGV[1],KEYS[3],ARGV[2])
+ //end
+ //local fileNoMap = {}
+ //fileNoMap['bh'] = redis.call('hget',KEYS[1],KEYS[2])
+ //fileNoMap['id'] = redis.call('hget',KEYS[1],KEYS[3])
+ //return cjson.encode(fileNoMap)
+ // ---
+ // operations.multi();
+ String script = "redis.call('LPUSH', KEYS[1], ARGV[1]);"
+ + "local is_exists = redis.call('EXISTS', KEYS[1]);"
+ + "if is_exists == 1 then\n"
+ + "redis.call('HINCRBY', KEYS[2], ARGV[2], 1);\n"
+ + "else\n"
+ + "redis.call('HSET', KEYS[2], ARGV[2], 1);\n"
+ + "end";
+ List keys = Arrays.asList("key1", "key2");
+ List args = Arrays.asList("a1", "a2");
+ // jedisCluster.eval(script, keys, args);
+
+ */
operations.multi();
operations.opsForValue().setIfAbsent(key, value);
operations.expire(key, expireTime, unit);
diff --git a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
index 40d0ba8..2fe7aee 100644
--- a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
+++ b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
@@ -6,16 +6,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
diff --git a/shared-lock-demo/pom.xml b/shared-lock-demo/pom.xml
index 98aadb7..c3cae7b 100644
--- a/shared-lock-demo/pom.xml
+++ b/shared-lock-demo/pom.xml
@@ -26,6 +26,17 @@
redis-shared-lock
1.0-SNAPSHOT
+
+ org.springframework.boot
+ spring-boot-starter-test
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
diff --git a/shared-lock-demo/src/main/resources/application.yml b/shared-lock-demo/src/main/resources/application.yml
index eb5c2af..d0571f6 100644
--- a/shared-lock-demo/src/main/resources/application.yml
+++ b/shared-lock-demo/src/main/resources/application.yml
@@ -35,8 +35,7 @@ spring:
- 192.168.2.118:11002
- 192.168.2.112:11002
- 192.168.2.119:11002
- timeout: 60000ms
-
+ timeout: 20000ms
lettuce:
pool:
maxActive: 50
diff --git a/shared-lock-demo/target/classes/application.yml b/shared-lock-demo/target/classes/application.yml
index eb5c2af..d0571f6 100644
--- a/shared-lock-demo/target/classes/application.yml
+++ b/shared-lock-demo/target/classes/application.yml
@@ -35,8 +35,7 @@ spring:
- 192.168.2.118:11002
- 192.168.2.112:11002
- 192.168.2.119:11002
- timeout: 60000ms
-
+ timeout: 20000ms
lettuce:
pool:
maxActive: 50
--
Gitee
From f38fb86a63f905193f89ff8150835e175ef9bfe0 Mon Sep 17 00:00:00 2001
From: feige <134526773>
Date: Thu, 22 Sep 2022 22:28:19 +0800
Subject: [PATCH 4/4] SSSSSSSS
---
.../com/ls/redisSharedLock/RedisClient.java | 4 +-
.../redisSharedLock/config/RedisConfig.java | 126 +++++++++---------
2 files changed, 66 insertions(+), 64 deletions(-)
diff --git a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java
index a521c8d..b4a6291 100644
--- a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java
+++ b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/RedisClient.java
@@ -38,6 +38,8 @@ public class RedisClient {
}
public Boolean setNx(String key,Object value,long expireTime,TimeUnit unit){
+
+// redisTemplate.execute()
return getRedisTemplate().execute(new SessionCallback() {
@Override
public Boolean execute(RedisOperations operations) throws DataAccessException {
@@ -70,7 +72,7 @@ public class RedisClient {
// jedisCluster.eval(script, keys, args);
*/
- operations.multi();
+// operations.multi();
operations.opsForValue().setIfAbsent(key, value);
operations.expire(key, expireTime, unit);
List exec = operations.exec();
diff --git a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
index 2fe7aee..bf8d8ce 100644
--- a/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
+++ b/redis-shared-lock/src/main/java/com/ls/redisSharedLock/config/RedisConfig.java
@@ -19,76 +19,76 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
//@EnableAutoConfiguration 为了在其他项目中作为start-组件 我们使用springboot 自动装配
public class RedisConfig {
- public static Logger logger = LoggerFactory.getLogger(RedisConfig.class);
+ public static Logger logger = LoggerFactory.getLogger(RedisConfig.class);
- @Value("${spring.redis.defaultExpiration:3600}")
- private Long defaultExpiration;
+ @Value("${spring.redis.defaultExpiration:3600}")
+ private Long defaultExpiration;
+ //
+// @Bean(name = "redisJdkTemplate")
+ @Bean(name = "redisTemplate")
+ @ConditionalOnProperty(name = "spring.redis", matchIfMissing = true)
+ public RedisTemplate getRedisJdkTemplate(RedisConnectionFactory redisConnectionFactory) {
- @Bean(name = "redisJdkTemplate")
- @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public RedisTemplate getRedisJdkTemplate(RedisConnectionFactory redisConnectionFactory) {
+ RedisTemplate template = new RedisTemplate<>();
+ template.setConnectionFactory(redisConnectionFactory);
- RedisTemplate template = new RedisTemplate<>();
- template.setConnectionFactory(redisConnectionFactory);
+ StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
+ template.setKeySerializer(stringRedisSerializer);
+ template.setHashKeySerializer(stringRedisSerializer);
+ template.afterPropertiesSet();
+ return template;
+ }
- StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
- template.setKeySerializer(stringRedisSerializer);
- template.setHashKeySerializer(stringRedisSerializer);
- template.afterPropertiesSet();
- return template;
- }
+// @Bean(name = "redisTemplate")
+// @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
+// public RedisTemplate getRedisTemplate( RedisConnectionFactory redisConnectionFactory) {
+// // RedisTemplate redisTemplate = new RedisTemplate<>();
+// // redisTemplate.setConnectionFactory(getConnectionFactory());
+// // StringRedisSerializer stringRedisSerializer = new
+// // StringRedisSerializer(Charset.forName("UTF-8"));
+// // redisTemplate.setKeySerializer(stringRedisSerializer);
+// // redisTemplate.setHashKeySerializer(stringRedisSerializer);
+// // return redisTemplate;
+//
+// RedisTemplate template = new RedisTemplate<>();
+// template.setConnectionFactory(redisConnectionFactory);
+// Jackson2JsonRedisSerializer> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
+// ObjectMapper om = new ObjectMapper();
+// om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+// om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+// jackson2JsonRedisSerializer.setObjectMapper(om);
+// StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
+// template.setKeySerializer(stringRedisSerializer);
+// template.setHashKeySerializer(stringRedisSerializer);
+// template.setValueSerializer(jackson2JsonRedisSerializer);
+// template.setHashValueSerializer(jackson2JsonRedisSerializer);
+// template.afterPropertiesSet();
+// return template;
+// }
- @Bean(name = "redisTemplate")
- @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public RedisTemplate getRedisTemplate( RedisConnectionFactory redisConnectionFactory) {
- // RedisTemplate redisTemplate = new RedisTemplate<>();
- // redisTemplate.setConnectionFactory(getConnectionFactory());
- // StringRedisSerializer stringRedisSerializer = new
- // StringRedisSerializer(Charset.forName("UTF-8"));
- // redisTemplate.setKeySerializer(stringRedisSerializer);
- // redisTemplate.setHashKeySerializer(stringRedisSerializer);
- // return redisTemplate;
+ @Bean(name = "stringRedisTemplate")
+ @ConditionalOnProperty(name = "spring.redis", matchIfMissing = true)
+ public StringRedisTemplate getStringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
+ return new StringRedisTemplate(redisConnectionFactory);
+ }
- RedisTemplate template = new RedisTemplate<>();
- template.setConnectionFactory(redisConnectionFactory);
- Jackson2JsonRedisSerializer> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
- ObjectMapper om = new ObjectMapper();
- om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
- om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
- jackson2JsonRedisSerializer.setObjectMapper(om);
- StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
- template.setKeySerializer(stringRedisSerializer);
- template.setHashKeySerializer(stringRedisSerializer);
- template.setValueSerializer(jackson2JsonRedisSerializer);
- template.setHashValueSerializer(jackson2JsonRedisSerializer);
- template.afterPropertiesSet();
- return template;
- }
- @Bean(name = "stringRedisTemplate")
- @ConditionalOnProperty(name = "spring.redis",matchIfMissing = true)
- public StringRedisTemplate getStringRedisTemplate( RedisConnectionFactory redisConnectionFactory) {
- return new StringRedisTemplate(redisConnectionFactory);
- }
-
-
-
- // @Bean
- // public RedisTemplate redisTemplate(RedisConnectionFactory
- // factory) {
- //// StringRedisTemplate template = new StringRedisTemplate(factory);
- // RedisTemplate template = new RedisTemplate<>();
- // redisTemplate.setConnectionFactory(getConnectionFactory());
- // Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new
- // Jackson2JsonRedisSerializer(Object.class);
- // ObjectMapper om = new ObjectMapper();
- // om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
- // om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
- // jackson2JsonRedisSerializer.setObjectMapper(om);
- // template.setValueSerializer(jackson2JsonRedisSerializer);
- // template.afterPropertiesSet();
- // return template;
- // }
+ // @Bean
+ // public RedisTemplate redisTemplate(RedisConnectionFactory
+ // factory) {
+ //// StringRedisTemplate template = new StringRedisTemplate(factory);
+ // RedisTemplate template = new RedisTemplate<>();
+ // redisTemplate.setConnectionFactory(getConnectionFactory());
+ // Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new
+ // Jackson2JsonRedisSerializer(Object.class);
+ // ObjectMapper om = new ObjectMapper();
+ // om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+ // om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+ // jackson2JsonRedisSerializer.setObjectMapper(om);
+ // template.setValueSerializer(jackson2JsonRedisSerializer);
+ // template.afterPropertiesSet();
+ // return template;
+ // }
}
--
Gitee