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));

 

 

 

 

 那个直接删除的方便一点

 

posted @ 2023-02-08 23:57  哎呦哎(iui)  阅读(77)  评论(0编辑  收藏  举报