栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

Spring Boot (二) 整合 Redis

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot (二) 整合 Redis

前言

本文将会基于 springboot 2.1.8.RELEASE 简单整合 Redis ,适合新手小白入门

Spring Boot 整合 Redis 入门 1、pom.xml 中引入 redis 依赖


    org.springframework.boot
    spring-boot-starter-data-redis

2、application.yml 配置文件中配置Redis连接参数等
spring:
  # Redis数据源
  redis:
    # Redis数据库索引(默认为0)
    database: 0
    # Redis服务器地址
    host: 127.0.0.1
    # Redis服务器连接端口
    port: 6379
    # 连接超时时间(毫秒
    timeout: 6000
    # Redis服务器连接密码(默认为空)
    password:
    jedis:
      pool:
 max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
 max-wait: -1      # 连接池最大阻塞等待时间(使用负值表示没有限制)
 max-idle: 10      # 连接池中的最大空闲连接
 min-idle: 5# 连接池中的最小空闲连接
3、Redis核心配置类

温馨小提示: 在这里注意设置key和value的序列化方式,否则存到redis里的数据会乱码

@Configuration
public class RedisConfig {

    @Bean
    @SuppressWarnings("all")
    public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
 RedisTemplate template = new RedisTemplate();
 template.setConnectionFactory(factory);
 Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
 ObjectMapper om = new ObjectMapper();
 om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
 om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
 jackson2JsonRedisSerializer.setObjectMapper(om);
 StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
 // key采用String的序列化方式
 template.setKeySerializer(stringRedisSerializer);
 // hash的key也采用String的序列化方式
 template.setHashKeySerializer(stringRedisSerializer);
 // value序列化方式采用jackson
 template.setValueSerializer(jackson2JsonRedisSerializer);
 // hash的value序列化方式采用jackson
 template.setHashValueSerializer(jackson2JsonRedisSerializer);
 template.afterPropertiesSet();
 return template;
    }

}
4、简单测试
@RestController
@RequestMapping("/api")
@Api(description = "测试-接口")
public class IndexController extends baseController {

    private final String key = "sysLog";
    
    @Autowired
    private ILogService logService;
    
    @Autowired
    RedisTemplate redisTemplate;

    @PostMapping(value = "/saveData", produces = "application/json;charset=utf-8")
    @ApiOperation(value = "保存数据", httpMethod = "POST", response = ApiResult.class)
    public ApiResult saveData(@RequestBody SysLog sysLog) {
 List sysLogList = logService.selectList(null);
 redisTemplate.opsForValue().set(key, sysLogList);
 return ApiResult.ok("SUCCESS");
    }

    @GetMapping(value = "/getData", produces = "application/json;charset=utf-8")
    @ApiOperation(value = "获取数据", httpMethod = "GET", response = ApiResult.class)
    public ApiResult getData() {
 List result = (List) redisTemplate.opsForValue().get(key);
 return ApiResult.ok("SUCCESS", result);
    }

}

本文案例demo源码

温馨小提示:demo源码中含Redis工具类,可视化工具,windows版redis

https://gitee.com/zhengqingya/java-workspace

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号