一、先安装缓存:Windows建议安装3.2.1版本(网上教程多)
启动Redis:安装好后在所在目录写:redis-server redis.windows.conf
二、在项目的使用
1、基本配置
依赖:
<!-- Redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、使用
缓存存放对象对象要先序列化(一般有俩种方式序列化),一般默认是jdk序列方式
a: new ObjectMapper().writeValueAsString(guestbook)
b:在类里面继承接口implements Serializable
配置其他的序列方式
代码:
@Configuration//注入配置类
public class RedisConfig {
//写自己的RedisTemplate
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
//自定义的缓存格式<String, Object>
RedisTemplate<String, Object> template = new RedisTemplate<>();
//链接工厂
template.setConnectionFactory(redisConnectionFactory);
//配置其他的序列方式
//jsond的序列化配置,json解析任意对象(Object.class)
Jackson2JsonRedisSerializer<Object> jectJackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om=new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jectJackson2JsonRedisSerializer.setObjectMapper(om);
//string的序列化
StringRedisSerializer stringRedisSerializer=new StringRedisSerializer();
//key采用String的序列方式
template.setKeySerializer(stringRedisSerializer);
//hash的key也采用String的序列方式
template.setHashKeySerializer(stringRedisSerializer);
//value采用Jackson的序列方式
template.setValueSerializer(jectJackson2JsonRedisSerializer);
//hash的value
template.setHashValueSerializer(jectJackson2JsonRedisSerializer);
template.afterPropertiesSet();
return template;
}
}
调用自己的序列方式
此时,pojo里面的序列化接口也可以取消,且不会报错
3.自己写工具类操作方法(utils)