参考https://blog.csdn.net/wu6660563/article/details/52902778
首先,在pom文件中引入redis的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在application.yml配置文件中配置redis。
spring:
cache:
type: redis
redis:
database: 0 # Redis数据库索引(默认为0
host: 127.0.0.1 # Redis服务器地址
password: # Redis服务器连接密码(默认为空)
port: 6379 # Redis服务器连接端口
timeout: 0 # 连接超时时间(毫秒)
pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 8 # 连接池中的最大空闲连接
min-idle: 0 # 连接池中的最小空闲连接
定义一个简单的测试类:
image.png
HelloRedisController和User的内容如下:
@RestController
public class HelloRedisController {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private RedisTemplate redisTemplate;
@RequestMapping("/helloRedis")
public String index() {
// 保存字符串
stringRedisTemplate.opsForValue().set("aaa", "111");
String string = stringRedisTemplate.opsForValue().get("aaa");
System.out.println(string);
// 保存对象
User user = new User("超人", 20);
redisTemplate.opsForValue().set(user.getUserName(), user);
user = new User("batman", 30);
redisTemplate.opsForValue().set(user.getUserName(), user);
user = new User("spiderman", 40);
redisTemplate.opsForValue().set(user.getUserName(), user);
User u1 = (User)redisTemplate.opsForValue().get("超人");
User u2 = (User)redisTemplate.opsForValue().get("batman");
User u3 = (User)redisTemplate.opsForValue().get("spiderman");
System.out.println(u1.getUserName()+"\t"+u1.getAge());
System.out.println(u2.getUserName()+"\t"+u2.getAge());
System.out.println(u3.getUserName()+"\t"+u3.getAge());
return "Hello redis";
}
}
public class User implements Serializable {
String userName;
int age;
public User(){
}
public User(String userName,int age){
this.userName = userName;
this.age = age;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
这里的User类需要注意的是必须要有一个默认的构造函数,不然当从redis中取出对象时会报无法序列化的错误。
打开浏览器然后输入项目地址:http://localhost:8881/helloRedis,看到控制台会打印出如下信息:
说明正确的连接到redis并且可以存取字符串和对象了。
还可以自己连上redis的客户端redis-cli来查看一下我们的缓存内容:
[huangpeng@hpMac:] ~/Downloads/Redis3.0 $ redis-cli
127.0.0.1:6379> get aaa
"111"
127.0.0.1:6379> get 超人
"{\"@class\":\"com.huangpeng.cache.test.User\",\"userName\":\"\xe8\xb6\x85\xe4\xba\xba\",\"age\":20}"
127.0.0.1:6379> get batman
"{\"@class\":\"com.huangpeng.cache.test.User\",\"userName\":\"batman\",\"age\":30}"
127.0.0.1:6379>
可以通过调整配置文件中的参数来调整缓存的超时时间等参数项。
网友评论