前言
本文主要给大家介绍的是关于Spring Boot中使用Redis做缓存的相关内容,这里有两种方式:
下面来看看详细的介绍:
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分钟内只会html" target="_blank">执行一次查询
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。
本文向大家介绍SpringBoot使用Redis缓存的实现方法,包括了SpringBoot使用Redis缓存的实现方法的使用技巧和注意事项,需要的朋友参考一下 (1)pom.xml引入jar包,如下: (2)修改项目启动类,增加注解@EnableCaching,开启缓存功能,如下: (3)application.properties中配置Redis连接信息,如下: (4)新建Redis
本文向大家介绍SpringBoot项目中使用redis缓存的方法步骤,包括了SpringBoot项目中使用redis缓存的方法步骤的使用技巧和注意事项,需要的朋友参考一下 本文介绍了SpringBoot项目中使用redis缓存的方法步骤,分享给大家,具体如下: Spring Data Redis为我们封装了Redis客户端的各种操作,简化使用。 - 当Redis当做数据库或者消息队列来操作时,我们
本文向大家介绍springboot使用GuavaCache做简单缓存处理的方法,包括了springboot使用GuavaCache做简单缓存处理的方法的使用技巧和注意事项,需要的朋友参考一下 问题背景 实际项目碰到一个上游服务商接口有10秒的查询限制(同个账号)。 项目中有一个需求是要实时统计一些数据,一个应用下可能有多个相同的账号。由于服务商接口的限制,当批量查询时,可能出现同一个账号第一次查询
本文向大家介绍SpringBoot中使用redis做分布式锁的方法,包括了SpringBoot中使用redis做分布式锁的方法的使用技巧和注意事项,需要的朋友参考一下 一.模拟问题 最近在公司遇到一个问题,挂号系统是做的集群,比如启动了两个相同的服务,病人挂号的时候可能会出现同号的情况,比如两个病人挂出来的号都是上午2号.这就出现了问题,由于是集群部署的,所以单纯在代码中的方法中加锁是不能解决这种
1. 前言 在MyBatis 缓存一节中,我们介绍了 MyBatis 的多级缓存。MyBatis 的二级缓存可在多个会话中共享缓存,但是这也加大了内存的使用空间,如果二级缓存空间占有量过多势必会导致程序运行空间的不足,因此我们需要将二级缓存转移到专业的缓存服务器上。 Redis 是一个高性能的 kv 数据库,被广泛的使用在缓存服务上,MyBatis 项目开发者提供了 Redis 缓存的实现。本小节
本文向大家介绍SpringBoot中默认缓存实现方案的示例代码,包括了SpringBoot中默认缓存实现方案的示例代码的使用技巧和注意事项,需要的朋友参考一下 在上一节中,我带大家学习了详解SpringBoot集成Redis来实现缓存技术方案,尤其是结合Spring Cache的注解的实现方案,接下来在本章节中,我带大家通过代码来实现。 一. Spring Boot实现默认缓存 1. 创建web项