springboot-redis的简单使用
1.安装redis
这个安装就不说了,可以自行百度一下
2.打开redis
在linux中开启命令是这样
cd /usr/local/redis/bin /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf ./redis-cli
可以用这个可视化工具Another Redis Desktop Manager
3.导入pom依赖和yml配置
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
4.整合springboot
1.首先引入
@Autowired
private StringRedisTemplate stringRedisTemplate;
在定义一个常量,这个像是缓存在redis的名字,
1. 然后先说这个加载数据获取缓存的时候
就是先去redis中查,如果有的话就取出,没有就从数据库中查,然后在取出@AuthAccess @GetMapping("/file/front/all") public Result frontAll() { // 1. 从缓存获取数据 String jsonStr = stringRedisTemplate.opsForValue().get(Constants.FILES_KEY); List<Files> files;//这个是要返回的数据 if (StrUtil.isBlank(jsonStr)) { // 2. 取出来的json是空的 files = fileMapper.selectList(null); // 3. 从数据库取出数据 // 4. 再去缓存到redis stringRedisTemplate.opsForValue().set(Constants.FILES_KEY, JSONUtil.toJsonStr(files)); } else { // 减轻数据库的压力 // 5. 如果有, 从redis缓存中获取数据 files = JSONUtil.toBean(jsonStr, new TypeReference<List<Files>>() { }, true); } return Result.success(files); }
然后我们测试一下发现,缓存数据已经成功保存到redis中
2.跟新,新增,删除的时候
新增,更新,删除最简单的方法就是把这个缓存在redis中删除,然后下一次请求的时候才创建
flushRedis(Constants.FILES_KEY);
更新:
删除:
或者新增还有这两种方法:
// 从redis取出数据,操作完,再设置(不用查询数据库) // String json = stringRedisTemplate.opsForValue().get(Constants.FILES_KEY); // List<Files> files1 = JSONUtil.toBean(json, new TypeReference<List<Files>>() { // }, true); // files1.add(saveFile); // setCache(Constants.FILES_KEY, JSONUtil.toJsonStr(files1));
// 从数据库查出数据 // List<Files> files = fileMapper.selectList(null); // // 设置最新的缓存 // setCache(Constants.FILES_KEY, JSONUtil.toJsonStr(files));
那个直接删除的方便一点