Home >Java >javaTutorial >Share tutorial examples of using Redis for caching in Spring Boot

Share tutorial examples of using Redis for caching in Spring Boot

零下一度
零下一度Original
2017-06-17 11:55:531887browse

This article mainly introduces you to the relevant information about using Redis in Spring Boot to do caching. The introduction in the article is very detailed and has certain reference and learning value for everyone. Friends who need it can come below Let’s take a look.

Preface

This article mainly introduces to you the relevant content about using Redis for caching in Spring Boot. There are two ways:

  • Use the annotation method (but I don’t like it)

  • Directly redisTemplate in "Spring Boot Using Redis"

Let’s take a look at the detailed introduction:

1. Create 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. Create 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. Create 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. The result will only be executed once in 30 minutes Query

The above is the detailed content of Share tutorial examples of using Redis for caching in Spring Boot. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn