除暖

Redis的使用

电脑版发表于:2021/10/25 19:26

一、先安装缓存: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)

关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢