概述
Redis是一款高性能key-value数据库,有丰富的数据类型string、list、hash、set、zset。
常用的应用场景
缓存、消息队列、session共享、分布式ID、分布式锁、关注/点赞、排行榜等等,我们这篇主要来讲缓存的应用
开始在SpringBoot项目中实践
redis的安装本篇不做阐述,后续可以补充
redis可视化工具可以自行选择安装,这里使用Redis Desktop Manager,也可以选择RedisStudio
本篇在之前JPA的项目基础上,我们加以改造,加入redis缓存操作
1. 现在pom.xml中加入redis依赖
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-data-redisartifactId>
dependency>
<dependency>
<groupId>org.apache.commonsgroupId>
<artifactId>commons-pool2artifactId>
dependency>
2. 在yml配置文件中加入redis配置信息
spring:
redis:
database: 0 # Redis数据库索引(默认为0)
host: localhost # Redis服务器地址
port: 6379 # Redis服务器连接端口
password: # Redis服务器连接密码(默认为空)
lettuce:
pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制) 默认 8
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1
max-idle: 8 # 连接池中的最大空闲连接 默认 8
min-idle: 0 # 连接池中的最小空闲连接 默认 0
cache:
type: redis
在SpringBoot2.X,redis默认使用lettuce,基于Netty性能高于以前的jedis。
3. 创建RedisConfig.java配置类
package com.zhlab.demo.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* @ClassName RedisConfig
* @Description //Redis缓存配置类
* @Author singleZhang
* @Email 405780096@qq.com
* @Date 2020/11/3 0003 下午 2:15
**/
@