Maison >Java >javaDidacticiel >Partagez des exemples de didacticiels sur l'utilisation de Redis pour la mise en cache dans Spring Boot
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
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. >
@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!