@Cacheable 详细介绍

传送门:https://blog.csdn.net/zl1zl2zl3/article/details/110987968

@Cacheable和redis集成使用:https://blog.csdn.net/qiuweifan/article/details/124924531

 

 1 # 解决异常
 2 <dependency>
 3    <groupId>org.springframework.boot</groupId>
 4    <artifactId>spring-boot-starter-data-redis</artifactId>
 5    <exclusions>
 6       <exclusion>
 7          <groupId>io.lettuce</groupId>
 8          <artifactId>lettuce-core</artifactId>
 9       </exclusion>
10    </exclusions>
11    <version>2.1.13.RELEASE</version>
12 </dependency>
13 <dependency>
14    <groupId>redis.clients</groupId>
15    <artifactId>jedis</artifactId>
16 </dependency>
17 # Redis数据库索引(默认为0)
18 spring.redis.database=0
19 # Redis服务器地址
20 spring.redis.host=47.93.30.147
21 # Redis服务器连接端口
22 spring.redis.port=6379
23 # Redis服务器连接密码(默认为空)
24 spring.redis.password=
25 # 连接池最大连接数(使用负值表示没有限制)
26 spring.redis.jedis.pool.max-active=20
27 # 连接池最大阻塞等待时间(使用负值表示没有限制)
28 spring.redis.jedis.pool.max-wait=-1
29 # 连接池中的最大空闲连接
30 spring.redis.jedis.pool.max-idle=10
31 # 连接池中的最小空闲连接
32 spring.redis.jedis.pool.min-idle=0
33 # 连接超时时间(毫秒)
34 spring.redis.timeout=3000
35 
36 
37 
38 @Configuration
39 public class RedisConfig {
40 
41     @Bean
42     public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
43         RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
44         template.setConnectionFactory(factory);
45         Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
46         ObjectMapper om = new ObjectMapper();
47         om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
48         om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
49         jackson2JsonRedisSerializer.setObjectMapper(om);
50         StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
51         // key采用String的序列化方式
52         template.setKeySerializer(stringRedisSerializer);
53         // hash的key也采用String的序列化方式
54         template.setHashKeySerializer(stringRedisSerializer);
55         // value序列化方式采用jackson
56         template.setValueSerializer(jackson2JsonRedisSerializer);
57         // hash的value序列化方式采用jackson
58         template.setHashValueSerializer(jackson2JsonRedisSerializer);
59         template.afterPropertiesSet();
60         return template;
61     }
62 
63 }
64 @RunWith(SpringJUnit4ClassRunner.class)
65 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
66 public class RsaAesTest {
67 
68     @Autowired
69     private RedisTemplate<String, Object> template;
70 
71     @Test
72     public void test() throws Exception {
73         ValueOperations<String, Object> redisString = template.opsForValue();
74         // SET key value: 设置指定 key 的值
75         redisString.set("strKey1", "hello spring boot redis1111");
76         // GET key: 获取指定 key 的值
77         String value = (String) redisString.get("strKey1");
78         System.out.println(value);
79     }
80 }
81 
82 
83 
84 
85   

 

posted @ 2022-06-16 16:27  悟空为师想要吃肉  阅读(55)  评论(0)    收藏  举报