一、redis介绍
redis
是一种NoSQL类型的数据库,其数据存储在内存中,因此其数据查询效率很高,很快。常被用作数据缓存
,分布式锁
等。SpringBoot集成了Redis,可查看开发文档Redis开发文档。Redis有自己的可视化工具Redis Desktop Manager
。
Redis使用RedisTemplate
和StringRedisTemplate
类提供的方法操作redis数据。
redis使用场景:
1、即时性、数据一致性要求不高的
2、访问量大且更新频率不高的数据(读多,写少)
二、redis使用方法
- 导包
<!-- redis依赖包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency></dependencies>
说明:具体依赖包名可在Maven仓库搜索redis即可查询到
- 写配置
spring:redis:host: 192.168.195.131(redis地址)
说明:redis可配置项可以ctrl+点击redis查看所有RedisProperties
- 使用
RedisTemplate
和StringRedisTemplate
类提供的方法操作redis数据。
@Overridepublic Map<String, List<Level2CategoryVO>> getCatalogJson() {// 先从缓存中查,如果有则直接返回,如果没有则查数据库,再返回String catalogJson = redisTemplate.opsForValue().get("catalogJson");// 如果缓存中没有,则查数据库,将结果存到redis,再返回if (StringUtil.isNullOrEmpty(catalogJson)) {Map<String, List<Level2CategoryVO>> catalogJsonDB = this.getCatalogJsonDB();redisTemplate.opsForValue().set("catalogJson", JSON.toJSONString(catalogJsonDB));return catalogJsonDB;}return JSON.parseObject(catalogJson, new HashMap<String, List<Level2CategoryVO>>().getClass());}
redis可视化结果:
说明:
StringRedisTemplate
类是专门在redis中操作key和value均为String类型的数据。RedisTemplate
则value可为对象类型。