Maison  >  Article  >  Java  >  Partagez des exemples de didacticiels sur l'utilisation de Redis pour la mise en cache dans Spring Boot

Partagez des exemples de didacticiels sur l'utilisation de Redis pour la mise en cache dans Spring Boot

零下一度
零下一度original
2017-06-17 11:55:531788parcourir

Cet article vous présente principalement les informations pertinentes sur l'utilisation de Redis pour effectuer la mise en cache dans Spring Boot. L'introduction de l'article est très détaillée et a une certaine valeur de référence et d'apprentissage pour tous les amis qui en ont besoin. peut venir ci-dessous. Jetons un coup d'œil.

Avant-propos

Cet article vous présente principalement l'utilisation de Redis pour la mise en cache dans Spring Boot. Il existe deux manières :

  • Utiliser des annotations (mais je n'aime pas ça)

  • Directement redisTemplate

    dans "Spring Boot Using Redis"

Jetons un coup d'œil à l'introduction détaillée :

1. Créer un service utilisateur


public interface UserService {
 public User findById(int id);
 public User create(User user);
 public User update(User user);
 public void delete(int id);
}

2. Créer 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. >


4. Par conséquent, la
@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;
 }
}
requête ne sera exécutée qu'une fois toutes les 30 minutes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn