Skip to content

Commit df91463

Browse files
author
Xiong Neng
committed
更新到cache
1 parent 3195f26 commit df91463

File tree

10 files changed

+123
-43
lines changed

10 files changed

+123
-43
lines changed

springboot-async/pom.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<parent>
1616
<groupId>org.springframework.boot</groupId>
1717
<artifactId>spring-boot-starter-parent</artifactId>
18-
<version>1.5.10.RELEASE</version>
18+
<version>2.0.4.RELEASE</version>
1919
<relativePath/>
2020
</parent>
2121

@@ -50,7 +50,6 @@
5050
<artifactId>maven-compiler-plugin</artifactId>
5151
<version>3.6.1</version>
5252
<configuration>
53-
<!--<proc>none</proc>-->
5453
<source>1.8</source>
5554
<target>1.8</target>
5655
</configuration>

springboot-batch/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<parent>
1616
<groupId>org.springframework.boot</groupId>
1717
<artifactId>spring-boot-starter-parent</artifactId>
18-
<version>1.5.10.RELEASE</version>
18+
<version>2.0.4.RELEASE</version>
1919
<relativePath/>
2020
</parent>
2121

springboot-cache/README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22

33
基于注解的声明式缓存
44

5+
SpringBoot 2.0的写法有些改变,参考:
6+
7+
https://3dot141.com/blogs/20329.html
8+
9+
https://my.oschina.net/u/3773384/blog/1795296
10+
511
## 运行
612

7-
初始化sql文件在`resources/sql/t_user.sql`
13+
本地安装好MySQL 5.7,并执行初始化sql脚本:`resources/sql/t_user.sql`
814

915
另外还需要安装Redis,配置好`application.yml`文件中的redis地址
1016

springboot-cache/pom.xml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<parent>
1616
<groupId>org.springframework.boot</groupId>
1717
<artifactId>spring-boot-starter-parent</artifactId>
18-
<version>1.5.10.RELEASE</version>
18+
<version>2.0.4.RELEASE</version>
1919
<relativePath/>
2020
</parent>
2121

@@ -34,6 +34,16 @@
3434
<groupId>org.springframework.boot</groupId>
3535
<artifactId>spring-boot-starter-data-redis</artifactId>
3636
</dependency>
37+
<dependency>
38+
<groupId>redis.clients</groupId>
39+
<artifactId>jedis</artifactId>
40+
<version>2.9.0</version>
41+
</dependency>
42+
<dependency>
43+
<groupId>com.fasterxml.jackson.core</groupId>
44+
<artifactId>jackson-databind</artifactId>
45+
<version>2.9.6</version>
46+
</dependency>
3747
<dependency>
3848
<groupId>org.springframework.boot</groupId>
3949
<artifactId>spring-boot-starter-test</artifactId>

springboot-cache/src/main/java/com/xncoding/trans/config/RedisCacheConfig.java

Lines changed: 79 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,30 @@
33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.beans.factory.annotation.Value;
7+
import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer;
8+
import org.springframework.cache.CacheManager;
9+
import org.springframework.cache.annotation.CachingConfigurerSupport;
610
import org.springframework.cache.annotation.EnableCaching;
711
import org.springframework.cache.interceptor.KeyGenerator;
812
import org.springframework.context.annotation.Bean;
913
import org.springframework.context.annotation.Configuration;
14+
import org.springframework.data.redis.cache.RedisCacheConfiguration;
1015
import org.springframework.data.redis.cache.RedisCacheManager;
16+
import org.springframework.data.redis.connection.RedisConnectionFactory;
17+
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
18+
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
19+
import org.springframework.data.redis.core.RedisTemplate;
20+
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
21+
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
22+
import org.springframework.data.redis.serializer.RedisSerializationContext;
23+
import org.springframework.data.redis.serializer.StringRedisSerializer;
1124

1225
import java.lang.reflect.Method;
26+
import java.time.Duration;
1327
import java.util.Arrays;
28+
import java.util.HashMap;
29+
import java.util.Map;
1430

1531
/**
1632
* RedisCacheConfig
@@ -21,17 +37,73 @@
2137
*/
2238
@Configuration
2339
@EnableCaching
24-
public class RedisCacheConfig {
40+
public class RedisCacheConfig extends CachingConfigurerSupport {
2541
private Logger logger = LoggerFactory.getLogger(this.getClass());
2642

27-
/**
28-
* 重新配置RedisCacheManager
29-
*/
30-
@Autowired
31-
public void configRedisCacheManger(RedisCacheManager rd) {
32-
rd.setDefaultExpiration(100L);
43+
@Value("${spring.redis.host}")
44+
private String host;
45+
46+
@Value("${spring.redis.port}")
47+
private String port;
48+
49+
@Bean
50+
public RedisStandaloneConfiguration getRedisClient() {
51+
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(host, Integer.parseInt(port));
52+
return redisStandaloneConfiguration;
3353
}
3454

55+
@Bean
56+
public JedisConnectionFactory redisConnectionFactory(RedisStandaloneConfiguration RedisStandaloneConfiguration) {
57+
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(RedisStandaloneConfiguration);
58+
return jedisConnectionFactory;
59+
}
60+
61+
@Bean
62+
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory cf) {
63+
RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();
64+
redisTemplate.setConnectionFactory(cf);
65+
return redisTemplate;
66+
}
67+
68+
@Bean
69+
public RedisCacheConfiguration redisCacheConfiguration() {
70+
return RedisCacheConfiguration
71+
.defaultCacheConfig()
72+
.serializeKeysWith(
73+
RedisSerializationContext
74+
.SerializationPair
75+
.fromSerializer(new StringRedisSerializer()))
76+
.serializeValuesWith(
77+
RedisSerializationContext
78+
.SerializationPair
79+
.fromSerializer(new GenericJackson2JsonRedisSerializer()))
80+
.entryTtl(Duration.ofSeconds(600L));
81+
}
82+
83+
@Bean
84+
public CacheManager cacheManager(RedisConnectionFactory cf) {
85+
//RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(cf);
86+
//RedisCacheManager cacheManager = new RedisCacheManager(redisCacheWriter, RedisCacheConfiguration.defaultCacheConfig());
87+
RedisCacheManager cm = RedisCacheManager.builder(cf).cacheDefaults(redisCacheConfiguration()).build();
88+
return cm;
89+
}
90+
91+
// @Bean
92+
// public KeyGenerator keyGenerator() {
93+
// return new KeyGenerator() {
94+
// @Override
95+
// public Object generate(Object o, Method method, Object... objects) {
96+
// StringBuilder sb = new StringBuilder();
97+
// sb.append(o.getClass().getName());
98+
// sb.append(method.getName());
99+
// for (Object obj : objects) {
100+
// sb.append(obj.toString());
101+
// }
102+
// return sb.toString();
103+
// }
104+
// };
105+
// }
106+
35107
/**
36108
* 自定义缓存key的生成类实现
37109
*/

springboot-cache/src/main/java/com/xncoding/trans/service/UserService.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class UserService {
2626
* @param id
2727
* @return
2828
*/
29-
@Cacheable(cacheNames = "user1", key = "#id")
29+
@Cacheable(key = "#id")
3030
public User getById(int id) {
3131
logger.info("获取用户start...");
3232
return userMapper.selectById(id);
@@ -39,7 +39,7 @@ public User getById(int id) {
3939
* @param id
4040
* @return
4141
*/
42-
@Cacheable(cacheNames = "user1", key = "#id", sync = true)
42+
@Cacheable(key = "#id", sync = true)
4343
public User getById2(int id) {
4444
logger.info("获取用户start...");
4545
return userMapper.selectById(id);
@@ -55,7 +55,7 @@ public User getById2(int id) {
5555
* @param id
5656
* @return
5757
*/
58-
@Cacheable(cacheNames = "user1", keyGenerator = "myKeyGenerator")
58+
@Cacheable(keyGenerator = "myKeyGenerator")
5959
public User queryUserById(int id) {
6060
logger.info("queryUserById,id={}", id);
6161
return userMapper.selectById(id);
@@ -66,9 +66,9 @@ public User queryUserById(int id) {
6666
*
6767
* @param user
6868
*/
69-
@CachePut(cacheNames = "user1", key = "#user.id")
69+
@CachePut(key = "#user.id")
7070
public void createUser(User user) {
71-
logger.info("创建用户start...");
71+
logger.info("创建用户start..., user.id=" + user.getId());
7272
userMapper.insert(user);
7373
}
7474

@@ -77,7 +77,7 @@ public void createUser(User user) {
7777
*
7878
* @param user
7979
*/
80-
@CachePut(cacheNames = "user1", key = "#user.id")
80+
@CachePut(key = "#user.id")
8181
public void updateUser(User user) {
8282
logger.info("更新用户start...");
8383
userMapper.updateById(user);
@@ -86,7 +86,7 @@ public void updateUser(User user) {
8686
/**
8787
* 对符合key条件的记录从缓存中book1移除
8888
*/
89-
@CacheEvict(cacheNames = "user1", key = "#id")
89+
@CacheEvict(key = "#id")
9090
public void deleteById(int id) {
9191
logger.info("删除用户start...");
9292
userMapper.deleteById(id);
@@ -95,7 +95,7 @@ public void deleteById(int id) {
9595
/**
9696
* allEntries = true: 清空user1里的所有缓存
9797
*/
98-
@CacheEvict(cacheNames="user1", allEntries=true)
98+
@CacheEvict(allEntries=true)
9999
public void clearUser1All(){
100100
logger.info("clearAll");
101101
}

springboot-cache/src/main/resources/application.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ spring:
1010
profiles:
1111
active: dev
1212
datasource:
13-
url: jdbc:mysql://127.0.0.1:3306/test?useSSL=false&autoReconnect=true&tinyInt1isBit=false&useUnicode=true&characterEncoding=utf8
13+
url: jdbc:mysql://123.207.66.156:3306/test?useSSL=false&autoReconnect=true&tinyInt1isBit=false&useUnicode=true&characterEncoding=utf8
1414
username: root
15-
password: 123456
15+
password: _EnZhi123
1616

1717
################### mybatis-plus配置 ###################
1818
mybatis-plus:
@@ -43,20 +43,14 @@ spring:
4343
cache:
4444
type: REDIS
4545
redis:
46-
host: 127.0.0.1
46+
host: 123.207.66.156
4747
port: 6379
48-
timeout: 0
4948
database: 0
50-
pool:
51-
max-active: 100
52-
max-wait: -1
53-
max-idle: 8
54-
min-idle: 0
5549

5650
logging:
5751
level:
5852
ROOT: INFO
5953
com:
6054
xncoding: DEBUG
61-
file: E:/logs/trans.log
55+
file: D:/logs/springboot-cache.log
6256

springboot-cxf/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<parent>
1616
<groupId>org.springframework.boot</groupId>
1717
<artifactId>spring-boot-starter-parent</artifactId>
18-
<version>1.5.10.RELEASE</version>
18+
<version>2.0.4.RELEASE</version>
1919
<relativePath/>
2020
</parent>
2121

springboot-cxf/src/main/resources/application.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ logging:
3030
ROOT: INFO
3131
com:
3232
xncoding: DEBUG
33-
file: E:/logs/app.log
33+
file: D:/logs/app.log

springboot-cxf/src/test/java/com/xncoding/webservice/ApplicationTests.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import org.junit.Before;
1010
import org.junit.Test;
1111
import org.junit.runner.RunWith;
12-
import org.springframework.boot.context.embedded.LocalServerPort;
1312
import org.springframework.boot.test.context.SpringBootTest;
13+
import org.springframework.boot.web.server.LocalServerPort;
1414
import org.springframework.test.context.junit4.SpringRunner;
1515

1616
import static org.hamcrest.MatcherAssert.assertThat;
@@ -98,15 +98,14 @@ public void cl3() {
9898
}
9999
}
100100

101-
102-
/**
103-
* 方式4. 客户端代码生成方式
104-
*/
105-
@Test
106-
public void cl4() {
107-
CommonService_Service c = new CommonService_Service();
108-
com.xncoding.webservice.client.User user = c.getCommonServiceImplPort().getUser("Tom");
109-
assertThat(user.getName(), is("Tom"));
110-
}
101+
// /**
102+
// * 方式4. 客户端代码生成方式
103+
// */
104+
// @Test
105+
// public void cl4() {
106+
// CommonService_Service c = new CommonService_Service();
107+
// com.xncoding.webservice.client.User user = c.getCommonServiceImplPort().getUser("Tom");
108+
// assertThat(user.getName(), is("Tom"));
109+
// }
111110

112111
}

0 commit comments

Comments
 (0)