SpringBoot 整合SpringDataRedis
Redis 版本:3.0.0
运行环境:Linux
1 安装 redis
1.1安装 gcc
yum installgcc-c++
1.2解压 redis.3.0.0.tar.gz 压缩包
tar-zxvfredis-3.0.0.tar.gz
1.3进入解压后的目录进行编译
cdredis-3.0.0 make
1.4将 Redis 安装到指定目录
makePREFIX=/usr/local/redisinstall
1.5启动 Redis
./redis-server
2.1修改 pom 文件添加 SpringDataRedis 的坐标
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<groupId>com.bjsxt</groupId>
<artifactId>24-spring-boot-redis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.7</java.version>
<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.version>
</properties>
<dependencies>
<!-- springBoot的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- thymeleaf的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- Spring Data Redis的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
</project>
2.2编写 SpringDataRedis 的配置类(重点)
/**
* 完成对 Redis 的整合的一些配置 *
*/
@Configuration
public class RedisConfig {
/**
* * 1.创建 JedisPoolConfig 对象。在该对象中完成一些链接池配置
*/
@Bean
public JedisPoolConfig jedisPoolConfig() {
JedisPoolConfig config = new JedisPoolConfig(); // 最大空闲数
config.setMaxIdle(10); // 最小空闲数
config.setMinIdle(5); // 最大链接数
config.setMaxTotal(20);
return config;
}
/*
* 2.创建 JedisConnectionFactory:配置 redis 链接信息
*/
@Bean
public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig config) {
// 关联链接池的配置对象
JedisConnectionFactory factory = new JedisConnectionFactory();
// 配置链接 Redis 的信息
factory.setPoolConfig(config);
// 主机地址
factory.setHostName("192.168.70.128");
// 端口
factory.setPort(6379);
return factory;
}
/*
3.创建 RedisTemplate:用于执行 Redis 操作的方法
*/
@Bean
public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
// 关联
template.setConnectionFactory(factory);
// 为 key 设置序列化器
template.setKeySerializer(new StringRedisSerializer());
// 为 value 设置序列化器
template.setValueSerializer(new StringRedisSerializer());
return template;
}
}