zoukankan      html  css  js  c++  java
  • redis缓存的使用

    1.添加相关依赖

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-cache</artifactId>
            </dependency>

    2.在springBoot启动类添加@EnableCaching的注解

    @SpringBootApplication
    @EnableCaching
    public class SellApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SellApplication.class, args);
        }
    
    }

    3.将要存储进redis的对象继承序列化相应的接口

      在idea下载相应快速生成序列化uuid的插件

       给插件使用添加快捷键

       要存储进redis对象的操作:

    @Data
    //1.继承序列化接口,使对象可序列化
    public class ResultVO<T> implements Serializable {
        //2.使用插件生成对象序列化UUID
        private static final long serialVersionUID = 1494345419144039338L;
        private Integer code;
        private String msg;
        private T data;
    
        public ResultVO() {
        }
    
    }

    4.redis缓存相应的例子:

        @GetMapping("/list")
        @Cacheable(cacheNames = "products",key = "123",condition = "#sellerId.length()>0",unless = "#result.getCode()!=0")
        //@Cacheable:第一次访问该方法,会将该方法返回的对象(可序列化)存进redis缓存,
        //第二次访问该方法后,则不会运行该方法体了,会直接从redis中取值
        //condition的作用域是执行该方法前,针对方法的参数
        //unless的作用域是执行该方法后,针对方法的返回的对象,表示如果不,就是判定条件取反
        public ResultVO list(@RequestParam(value = "sellerId") String sellerId){...}

    防止缓存后,修改数据库数据后,页面显示的数据不变,应在保存的方法清除缓存或更新缓存

    清除缓存:

        @CacheEvict(cacheNames = "products",key = "123")//清除缓存
        @PostMapping("/save")
        public ModelAndView save(){...}

    更新缓存:

    使用@CachePut(cacheNames = "products",key = "123")

    但是保存的对象,应与添加了@Cacheable的方法返回对象相同才可

  • 相关阅读:
    golang mongo-driver filter 构建--bson和golang基础类型
    ieda 修改选了files open in assoasiated applications
    golang 轻量实用的http.Request 参数解析库 paramParse
    scrapyd spiderkeeper docker部署
    python Scrapy google trends
    shell 删除代码中的注释
    php中文转阿拉伯数字
    php调用oracle带有out参数的存储过程
    Mongodb 副本与分片 学习笔记
    Mongodb 特殊索引和集合 学习笔记
  • 原文地址:https://www.cnblogs.com/shouyaya/p/13261419.html
Copyright © 2011-2022 走看看