一、添加依賴
<!--Redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
二、連接配置
# Spring配置
spring:
# Redis服務
redis:
host: 127.0.0.1
port: 6379
# 數據庫索引
database: 0
password: r*****h
# 超市時間
timeout: 2000
lettuce:
# 連接池
pool:
# 最大連接數
max-active: 8
# 最大阻塞等待時間(負值無限制)
max-wait: -1
# 最大空閒連接
max-idle: 8
# 最小空閒連接
min-idle: 0
三、RedisConfig配置類
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.io.Serializable;
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Serializable> redisTemplate(LettuceConnectionFactory connectionFactory){
RedisTemplate<String,Serializable> redisTemplate=new RedisTemplate<>();
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.setConnectionFactory(connectionFactory);
return redisTemplate;
}
}
四、新建測試User類
import java.io.Serializable;
public class User implements Serializable {
private Integer id;
private String userName;
private String sex;
public MyUser(){}
public MyUser(Integer id, String userName, String sex){
this.id=id;
this.userName=userName;
this.sex=sex;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + '\'' +
", sex='" + sex + '\'' +
'}';
}
}
五、讀取Redis示例
@Controller
@RequestMapping("/test")
public class TestController {
@Autowired
private RedisTemplate redisTemplate;
@PostMapping("/list")
@ResponseBody
public String list(){
MyUser user=new MyUser(1,"Java架構師成神之路","男");
ValueOperations<String, MyUser> VOpera=redisTemplate.opsForValue();
VOpera.set("zhangsan",user);
boolean ifExists=redisTemplate.hasKey("zhangsan");
System.out.println("存在Key值:"+ifExists);
MyUser getUser=(MyUser)redisTemplate.opsForValue().get("zhangsan");
System.out.println("從redis中獲取到User:"+getUser.toString());
return null;
}
}