这篇文章主要给大家介绍了关于spring boot中使用redis做缓存的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
前言
本文主要给大家介绍的是关于spring boot中使用redis做缓存的相关内容,这里有两种方式:
使用注解方式(但是小爷不喜欢)
直接《spring boot 使用 redis》中的redistemplate
下面来看看详细的介绍:
1、创建userservice
public interface userservice {
public user findbyid(int id);
public user create(user user);
public user update(user user);
public void delete(int id);
}
2、创建userserviceimpl
@servicepublic class userserviceimpl implements userservice {
@autowired
private userrepository userrepository;
@autowired
private userredis userredis;
//this is a key for redis
private static final string keyhead = "mysql:get:user:";
@override
public user findbyid(int id) {
user user = userredis.get(keyhead+id);
if (user == null) {
user = userrepository.findone(id);
if (user != null) {
userredis.add(keyhead+id, 30l, user);
}
}
return user;
}
@override
public user create(user user) {
user newuser = userrepository.save(user);
if (newuser != null) {
userredis.add(keyhead+newuser.getid(), 30l, newuser);
}
return newuser;
}
@override
public user update(user user) {
if (user != null) {
userredis.delete(keyhead+user.getid());
userredis.add(keyhead+user.getid(), 30l, user);
}
return userrepository.save(user);
}
@override
public void delete(int id) {
userredis.delete(keyhead+id);
userrepository.delete(id);
}
}
3、创建usercontroller
@restcontroller
@requestmapping("/users")
public class usercontroller {
@autowired
private userservice userservice;
@requestmapping(value = "/{id}", method = requestmethod.get, produces = mediatype.application_json_value)
public object show(@pathvariable int id) {
user user = userservice.findbyid(id);
return user;
}
}
4、结果,在30分钟内只会执行一次查询
以上就是分享spring boot中使用redis做缓存的教程实例的详细内容。