Skip to content

Commit 93c6137

Browse files
committed
恢复不影响启动的 Redis 相关代码
1 parent ba36595 commit 93c6137

File tree

2 files changed

+81
-81
lines changed

2 files changed

+81
-81
lines changed

APIJSON-Java-Server/APIJSONBoot-MultiDataSource/pom.xml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -278,23 +278,23 @@
278278
<version>1.2.9</version>
279279
</dependency>
280280

281-
<!-- <dependency>-->
282-
<!-- <groupId>redis.clients</groupId>-->
283-
<!-- <artifactId>jedis</artifactId>-->
284-
<!-- <version>3.9.0</version>-->
285-
<!-- </dependency>-->
281+
<dependency>
282+
<groupId>redis.clients</groupId>
283+
<artifactId>jedis</artifactId>
284+
<version>3.9.0</version>
285+
</dependency>
286286

287-
<!-- <dependency>-->
288-
<!-- <groupId>org.springframework.data</groupId>-->
289-
<!-- <artifactId>spring-data-redis</artifactId>-->
290-
<!-- <version>3.2.5</version>-->
291-
<!-- <exclusions>-->
292-
<!-- <exclusion>-->
293-
<!-- <groupId>redis.clients</groupId>-->
294-
<!-- <artifactId>jedis</artifactId>-->
295-
<!-- </exclusion>-->
296-
<!-- </exclusions>-->
297-
<!-- </dependency>-->
287+
<dependency>
288+
<groupId>org.springframework.data</groupId>
289+
<artifactId>spring-data-redis</artifactId>
290+
<version>3.2.5</version>
291+
<exclusions>
292+
<exclusion>
293+
<groupId>redis.clients</groupId>
294+
<artifactId>jedis</artifactId>
295+
</exclusion>
296+
</exclusions>
297+
</dependency>
298298
<!-- <dependency>-->
299299
<!-- <groupId>org.datayoo.moql</groupId>-->
300300
<!-- <artifactId>moql-meta</artifactId>-->

APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLExecutor.java

Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
import apijson.orm.SQLConfig;
2828
import com.alibaba.druid.pool.DruidDataSource;
2929
import com.alibaba.fastjson.JSONObject;
30-
//import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
31-
//import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
32-
//import org.springframework.data.redis.core.RedisTemplate;
33-
//import org.springframework.data.redis.serializer.GenericToStringSerializer;
34-
//import org.springframework.data.redis.serializer.StringRedisSerializer;
30+
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
31+
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
32+
import org.springframework.data.redis.core.RedisTemplate;
33+
import org.springframework.data.redis.serializer.GenericToStringSerializer;
34+
import org.springframework.data.redis.serializer.StringRedisSerializer;
3535

3636
import javax.sql.DataSource;
3737
import java.io.Serializable;
@@ -58,66 +58,66 @@ public class DemoSQLExecutor extends APIJSONSQLExecutor<Long> {
5858
public static final String TAG = "DemoSQLExecutor";
5959

6060
// Redis 缓存 <<<<<<<<<<<<<<<<<<<<<<<
61-
// public static final RedisTemplate<String, String> REDIS_TEMPLATE;
62-
// static {
63-
// REDIS_TEMPLATE = new RedisTemplate<>();
64-
// try {
65-
// REDIS_TEMPLATE.setConnectionFactory(new JedisConnectionFactory(new RedisStandaloneConfiguration("127.0.0.1", 6379)));
66-
// REDIS_TEMPLATE.setKeySerializer(new StringRedisSerializer());
67-
// REDIS_TEMPLATE.setHashValueSerializer(new GenericToStringSerializer<>(Serializable.class));
68-
// REDIS_TEMPLATE.setValueSerializer(new GenericToStringSerializer<>(Serializable.class));
69-
// // REDIS_TEMPLATE.setValueSerializer(new FastJsonRedisSerializer<List<JSONObject>>(List.class));
70-
// REDIS_TEMPLATE.afterPropertiesSet();
71-
// } catch (Throwable e) {
72-
// e.printStackTrace();
73-
// }
74-
// }
75-
//
76-
// // 可重写以下方法,支持 Redis 等单机全局缓存或分布式缓存
77-
// @Override
78-
// public List<JSONObject> getCache(String sql, SQLConfig<Long> config) {
79-
// List<JSONObject> list = super.getCache(sql, config);
80-
// if (list == null) {
81-
// try {
82-
// list = JSON.parseArray(REDIS_TEMPLATE.opsForValue().get(sql), JSONObject.class);
83-
// } catch (Throwable e) {
84-
// e.printStackTrace();
85-
// }
86-
// }
87-
// return list;
88-
// }
89-
//
90-
// @Override
91-
// public synchronized void putCache(String sql, List<JSONObject> list, SQLConfig<Long> config) {
92-
// super.putCache(sql, list, config);
93-
//
94-
// String table = config != null && config.isMain() ? config.getTable() : null;
95-
// if (table != null && ! DemoSQLConfig.CONFIG_TABLE_LIST.contains(table)) {
96-
// try {
97-
// if (config.isExplain() || RequestMethod.isHeadMethod(config.getMethod(), true)) {
98-
// REDIS_TEMPLATE.opsForValue().set(sql, JSON.toJSONString(list), 10 * 60, TimeUnit.SECONDS);
99-
// } else {
100-
// REDIS_TEMPLATE.opsForValue().set(sql, JSON.toJSONString(list), USER_.equals(table) || PRIVACY_.equals(table) ? 10 * 60 : 60, TimeUnit.SECONDS);
101-
// }
102-
// } catch (Throwable e) {
103-
// e.printStackTrace();
104-
// }
105-
// }
106-
// }
107-
//
108-
// @Override
109-
// public synchronized void removeCache(String sql, SQLConfig<Long> config) {
110-
// super.removeCache(sql, config);
111-
// try {
112-
// if (config.getMethod() == RequestMethod.DELETE) { // 避免缓存击穿
113-
// REDIS_TEMPLATE.expire(sql, 60, TimeUnit.SECONDS);
114-
// } else {
115-
// REDIS_TEMPLATE.delete(sql);
116-
// }
117-
// } catch (Throwable e) {
118-
// e.printStackTrace();
119-
// }
120-
// }
61+
public static final RedisTemplate<String, String> REDIS_TEMPLATE;
62+
static {
63+
REDIS_TEMPLATE = new RedisTemplate<>();
64+
try {
65+
REDIS_TEMPLATE.setConnectionFactory(new JedisConnectionFactory(new RedisStandaloneConfiguration("127.0.0.1", 6379)));
66+
REDIS_TEMPLATE.setKeySerializer(new StringRedisSerializer());
67+
REDIS_TEMPLATE.setHashValueSerializer(new GenericToStringSerializer<>(Serializable.class));
68+
REDIS_TEMPLATE.setValueSerializer(new GenericToStringSerializer<>(Serializable.class));
69+
// REDIS_TEMPLATE.setValueSerializer(new FastJsonRedisSerializer<List<JSONObject>>(List.class));
70+
REDIS_TEMPLATE.afterPropertiesSet();
71+
} catch (Throwable e) {
72+
e.printStackTrace();
73+
}
74+
}
75+
76+
// 可重写以下方法,支持 Redis 等单机全局缓存或分布式缓存
77+
@Override
78+
public List<JSONObject> getCache(String sql, SQLConfig<Long> config) {
79+
List<JSONObject> list = super.getCache(sql, config);
80+
if (list == null) {
81+
try {
82+
list = JSON.parseArray(REDIS_TEMPLATE.opsForValue().get(sql), JSONObject.class);
83+
} catch (Throwable e) {
84+
e.printStackTrace();
85+
}
86+
}
87+
return list;
88+
}
89+
90+
@Override
91+
public synchronized void putCache(String sql, List<JSONObject> list, SQLConfig<Long> config) {
92+
super.putCache(sql, list, config);
93+
94+
String table = config != null && config.isMain() ? config.getTable() : null;
95+
if (table != null && ! DemoSQLConfig.CONFIG_TABLE_LIST.contains(table)) {
96+
try {
97+
if (config.isExplain() || RequestMethod.isHeadMethod(config.getMethod(), true)) {
98+
REDIS_TEMPLATE.opsForValue().set(sql, JSON.toJSONString(list), 10 * 60, TimeUnit.SECONDS);
99+
} else {
100+
REDIS_TEMPLATE.opsForValue().set(sql, JSON.toJSONString(list), USER_.equals(table) || PRIVACY_.equals(table) ? 10 * 60 : 60, TimeUnit.SECONDS);
101+
}
102+
} catch (Throwable e) {
103+
e.printStackTrace();
104+
}
105+
}
106+
}
107+
108+
@Override
109+
public synchronized void removeCache(String sql, SQLConfig<Long> config) {
110+
super.removeCache(sql, config);
111+
try {
112+
if (config.getMethod() == RequestMethod.DELETE) { // 避免缓存击穿
113+
REDIS_TEMPLATE.expire(sql, 60, TimeUnit.SECONDS);
114+
} else {
115+
REDIS_TEMPLATE.delete(sql);
116+
}
117+
} catch (Throwable e) {
118+
e.printStackTrace();
119+
}
120+
}
121121

122122
// Redis 缓存 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
123123

0 commit comments

Comments
 (0)