Spring Boot Redis集成

Spring Boot Redis使用

添加依赖

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

配置Redis 地址

spring:
  redis:
    host: localhost
    port: 6379
    database: 0

配置RedisTemplate

@Configuration
public class RedisConfig {


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

        //使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值(默认使用JDK的序列化方式)
        Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer(Object.class);

        ObjectMapper mapper = new ObjectMapper();
        mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        serializer.setObjectMapper(mapper);

        template.setValueSerializer(serializer);
        //使用StringRedisSerializer来序列化和反序列化redis的key值
        template.setKeySerializer(new StringRedisSerializer());
        template.afterPropertiesSet();
        return template;
    }
}

使用

@RestController
@RequestMapping(value = "/api/user")
public class UserController {

    @Resource
    private RedisTemplate<String, Object> redisTemplate;
    
    @RequestMapping(value = "/addToRedis", method = RequestMethod.GET)
    public Object addToRedis() {

        UserDO record = new UserDO();
        record.setCreator("moshenglei");
        record.setGmtCreated(new Date());
        record.setModifier("moshenglei");
        record.setGmtModified(new Date());
        record.setIsDeleted("N");
        record.setName("莫胜磊");

        redisTemplate.opsForValue().set("haha", record);
        return "success";
    }



    @RequestMapping(value = "/getFromRedis", method = RequestMethod.GET)
    public Object getFromRedis() {
        UserDO record = (UserDO)redisTemplate.opsForValue().get("haha");
        return record;
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容