一、基本配置
1、首先初始化一个简单的Springboot项目 我的是基于2.2.2RELEASE 版本
1、yml 中配置
配置主机端口号:
spring:
redis:
host: 127.0.0.1
port: 6379
2、引入依赖
<properties>
<redis.version>1.3.3.RELEASE</redis.version>
<spring-boot.version>2.2.2.RELEASE</spring-boot.version>
</properties>
<!--Redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>${redis.version}</version>
</dependency>
2、配置类
package com.haoxiansheng.middleware.config;
import org.springframework.beans.factory.annotation.Autowired;
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.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class CommonConfig {
@Autowired
private RedisConnectionFactory redisConnectionFactory; //链接工厂
/**
* 缓冲组件RedisTemplate的自定义配置
*
* @return
*/
@Bean
public RedisTemplate<String, Object> redisTemplate() {
//定义RedisTemplate 实例
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
//设置链接工厂
redisTemplate.setConnectionFactory(redisConnectionFactory);
//TODO:指定大Key 序列化为String 序列化,Value 为JDk 自带的序列化策略
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
//TODO 指定HashKey 序列化策略为String 序列化-针对hash 散列存储
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
/**
* 缓存组件StringRedisTemplate的自定义配置
* @return
*/
@Bean
public StringRedisTemplate stringRedisTemplate() {
//采用默认配置即可-后续有自定义配置时则在此处添加即可。
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(redisConnectionFactory);
return stringRedisTemplate;
}
/**
* 建议如果使用Redis进行相关的业务操作, 将上面的自定义注入 RedisTemplate 与StringRedisTemplate 组件的代码加入到项目中 避免出现 "非业务性" 的问题
*/
}