SpringBoot 使用RedisTemplate

1.导入Maven依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2.配置连接信息

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password:

3.新增配置类,修改序列化方式

RedisSerializer接口实现类有四种:

  • JDK 序列化方式 (默认)
  • String 序列化方式
  • JSON 序列化方式
  • XML 序列化方式

为什么要修改序列化方式

redisTemplate 默认的序列化方式为 jdkSerializeable;StringRedisTemplate的默认序列化方式为StringRedisSerializer。

其中jdkSerializeable存储的是二进制字节码绝大多数情况下,不推荐使用 JdkSerializationRedisSerializer 进行序列化。主要是不方便人工排查数据。

@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, Object> template = new RedisTemplate<>();

        template.setConnectionFactory(redisConnectionFactory);


        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        //key 采用String的序列化方式
        template.setKeySerializer(stringRedisSerializer);
        //hash
        template.setHashKeySerializer(stringRedisSerializer);
        //value
        template.setValueSerializer(stringRedisSerializer);
        template.afterPropertiesSet();
        return template;
    }

}

4。注入RedisTemplate进行使用

@Autowired
private RedisTemplate redisTemplate;

public String testRedis() {
	String cacheData = (String)redisTemplate.opsForValue().get("cacheData");
	return cacheData;
}

redisTemplate常见操作:

redisTemplate.opsForValue() 操作String

redisTemplate.opsForList() 操作LIST
redisTemplate.opsForSet() 操作SET
redisTemplate.opsForHash() 操作HASH
redisTemplate.opsForZSet() 操作ZSET

参考资料

posted @ 2023-03-31 17:12  享受生活2023  阅读(94)  评论(0编辑  收藏  举报