欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot中使用Redis做缓存的方法实例

程序员文章站 2023-12-20 14:33:46
前言 本文主要给大家介绍的是关于spring boot中使用redis做缓存的相关内容,这里有两种方式: 使用注解方式(但是小爷不喜欢) 直接《sprin...

前言

本文主要给大家介绍的是关于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做缓存的方法实例

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

上一篇:

下一篇: