Skip to content

Commit d217ff2

Browse files
committed
多级缓存测试
1 parent f1104cc commit d217ff2

File tree

5 files changed

+30
-17
lines changed

5 files changed

+30
-17
lines changed

spring-boot-student-layering-cache/src/main/java/com/xiaolyuh/config/RedisConfig.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import com.github.xiaolyuh.serializer.StringRedisSerializer;
99
import org.springframework.context.annotation.Bean;
1010
import org.springframework.context.annotation.Configuration;
11-
import org.springframework.context.annotation.Primary;
12-
import org.springframework.data.redis.cache.RedisCacheManager;
1311
import org.springframework.data.redis.connection.RedisConnectionFactory;
1412
import org.springframework.data.redis.core.RedisTemplate;
1513
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
@@ -58,11 +56,4 @@ public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisC
5856
return redisTemplate;
5957
}
6058

61-
@Bean
62-
@Primary
63-
public RedisCacheManager cacheManager(RedisTemplate<String, Object> redisTemplate) {
64-
RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
65-
return cacheManager;
66-
}
67-
6859
}

spring-boot-student-layering-cache/src/main/java/com/xiaolyuh/controller/CacheController.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ public Person cacheable(Person person) {
2525
return personService.findOne(person);
2626
}
2727

28+
@RequestMapping("/able1")
29+
public Person cacheable1(Person person) {
30+
31+
return personService.findOne1(person);
32+
}
33+
2834
@RequestMapping("/evit")
2935
public String evit(Long id) {
3036

spring-boot-student-layering-cache/src/main/java/com/xiaolyuh/service/PersonService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ public interface PersonService {
1111
void removeAll();
1212

1313
Person findOne(Person person);
14+
15+
Person findOne1(Person person);
1416
}

spring-boot-student-layering-cache/src/main/java/com/xiaolyuh/service/impl/PersonServiceImpl.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,59 @@
44
import com.xiaolyuh.entity.Person;
55
import com.xiaolyuh.repository.PersonRepository;
66
import com.xiaolyuh.service.PersonService;
7+
import org.slf4j.Logger;
8+
import org.slf4j.LoggerFactory;
79
import org.springframework.beans.factory.annotation.Autowired;
810
import org.springframework.stereotype.Service;
911

1012
import java.util.concurrent.TimeUnit;
1113

1214
@Service
1315
public class PersonServiceImpl implements PersonService {
16+
Logger logger = LoggerFactory.getLogger(PersonServiceImpl.class);
17+
1418
@Autowired
1519
PersonRepository personRepository;
1620

1721
@Override
1822
@CachePut(value = "people", key = "#person.id")
1923
public Person save(Person person) {
2024
Person p = personRepository.save(person);
21-
System.out.println("为id、key为:" + p.getId() + "数据做了缓存");
25+
logger.info("为id、key为:" + p.getId() + "数据做了缓存");
2226
return p;
2327
}
2428

2529
@Override
2630
@CacheEvict(value = "people", key = "#id")//2
2731
public void remove(Long id) {
28-
System.out.println("删除了id、key为" + id + "的数据缓存");
32+
logger.info("删除了id、key为" + id + "的数据缓存");
2933
//这里不做实际删除操作
3034
}
3135

3236
@Override
3337
@CacheEvict(value = "people", allEntries = true)//2
3438
public void removeAll() {
35-
System.out.println("删除了所有缓存的数据缓存");
39+
logger.info("删除了所有缓存的数据缓存");
3640
//这里不做实际删除操作
3741
}
3842

3943
@Override
4044
@Cacheable(value = "'people' + ':' + #person.id", key = "#person.id", depict = "查询用户信息",
4145
firstCache = @FirstCache(expireTime = 4, timeUnit = TimeUnit.SECONDS),
42-
secondaryCache = @SecondaryCache(expireTime = 100, preloadTime = 3, forceRefresh = true, timeUnit = TimeUnit.SECONDS))
46+
secondaryCache = @SecondaryCache(expireTime = 15, preloadTime = 8, forceRefresh = true, timeUnit = TimeUnit.SECONDS))
4347
public Person findOne(Person person) {
4448
Person p = personRepository.findOne(person.getId());
45-
System.out.println("为id、key为:" + p.getId() + "数据做了缓存");
49+
logger.info("为id、key为:" + p.getId() + "数据做了缓存");
50+
return p;
51+
}
52+
53+
@Override
54+
@Cacheable(value = "people1", key = "#person.id", depict = "查询用户信息1",
55+
firstCache = @FirstCache(expireTime = 4, timeUnit = TimeUnit.SECONDS),
56+
secondaryCache = @SecondaryCache(expireTime = 15, preloadTime = 8, forceRefresh = true, timeUnit = TimeUnit.SECONDS))
57+
public Person findOne1(Person person) {
58+
Person p = personRepository.findOne(person.getId());
59+
logger.info("为id、key为:" + p.getId() + "数据做了缓存");
4660
return p;
4761
}
4862
}

spring-boot-student-layering-cache/src/main/resources/application.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ spring.jackson.serialization.indent-output=true
3434
#\u65E5\u5FD7\u914D\u7F6E
3535
logging.level.root=info
3636
#application.properties\u4E2D\u7684\u914D\u7F6E\u9879\u4F18\u5148\u7EA7\u9AD8\u4E8Elogback.xml\u6587\u4EF6\u4E2D\u7684\u914D\u7F6E\u9879
37-
logging.file=e:/ssb-student-log.log
37+
logging.file=d:/a.log
3838
logging.level.com.xiaolyuh=debug
3939
logging.level.org.springframework.web=info
4040
logging.level.org.springframework.transaction=info
@@ -43,8 +43,8 @@ logging.level.org.apache.commons.dbcp2=debug
4343
#Caffeine\u7F13\u5B58\u914D\u7F6E
4444
spring.cache.caffeine.spec=initialCapacity=5,maximumSize=500,expireAfterWrite=60s
4545

46-
spring.cache.layering-cache.util-view-servlet-enabled=true
47-
46+
layering-cache.util-view-servlet-enabled=true
47+
layering-cache.stats=true
4848

4949
debug=false
5050

0 commit comments

Comments
 (0)