Redis缓存处理

1.Redis环境搭建

  以docker的形式搭建Redis 服务

    docker run ‐di ‐‐name=tensquare_redis ‐p 6379:6379 redis

 

2.SpringDataRedis

  Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作。

 

3.实现项目的缓存处理

  3.1 查询文章操作缓存

    (1)在项目 的pom.xml引入依赖

        <dependency>

          <groupId>org.springframework.boot</groupId>           <artifactId>spring‐boot‐starter‐data‐redis</artifactId>         </dependency>     (2)修改application.yml ,在spring节点下添加配置         redis:           host: 192.168.184.134     (3)修改Service 引入RedisTemplate,并修改findById方法         @Autowired         private RedisTemplate redisTemplate;         /**         * 根据ID查询实体         * @param id         * @return         */         public Label findById(String id) {           //从缓存中提取           Label label=(Label)redisTemplate.opsForValue().get("Label_"+id);           // 如果缓存没有则到数据库查询并放入缓存           if(label==null) {           label= labelDao.findById(id).get();           redisTemplate.opsForValue().set("label_" + id, label);           }           return label;         }    3.2 修改或删除后清除缓存       /**       * 修改       * @param label       */       public void update(Label label) {         redisTemplate.delete( "label_" + label.getId() );//删除缓存         labelDao.save(label);       }       /**       * 删除       * @param id       */       public void deleteById(String id) {         redisTemplate.delete( "label_" + id );//删除缓存         labelDao.deleteById(id);       }    3.3 缓存过期处理       修改findById方法 ,设置1天的过期时间         redisTemplate.opsForValue().set("label_" + id, label,1,TimeUnit.DAYS);       为了方便测试,我们可以把过期时间改为10秒,然后观察控制台输出         redisTemplate.opsForValue().set("label_" + id, label,10,TimeUnit.SECONDS);                 

 

上一篇:Example: Develop Web application on Baidu App Engine using CherryPy


下一篇:SpringBoot项目:RedisTemplate实现轻量级消息队列