首页  ·  知识 ·  编程语言
SpringBoot与Redis的集成
网友  博客园  JAVA  编辑:Coisini   图片来源:网络
Redis是一个完全开源免费的、遵守BSD协议的、内存中的数据结构存储,它既可以作为数据库,也可以作为缓存和消息代理。因其性能优异等优势,目前已被很多企业所使用,但通常在企业中我们会将其作

Redis是一个完全开源免费的、遵守BSD协议的、内存中的数据结构存储,它既可以作为数据库,也可以作为缓存和消息代理。因其性能优异等优势,目前已被很多企业所使用,但通常在企业中我们会将其作为缓存来使用。Spring Boot对Redis也提供了自动配置的支持,接下来本小节将讲解如何在Spring Boot项目中使用Redis。

添加Redis缓存


添加Redis依赖:

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-redis</artifactId>

    <version>1.4.4.RELEASE</version>

</dependency>

  添加@EnableCaching注解开启缓存:

@SpringBootApplication

@EnableCaching  //开启缓存

public class SpringbootApplication {

    public static void main(String[] args) {

        SpringApplication.run(SpringbootApplication.class, args);

    }

}

  添加@Cacheable注解来支持缓存:

@Cacheable(value="UserCache",key="'user.getAllUsers'")

@Override

public List<User> getAllUsers() {

    return userMapper.getAllUsers();

}

  使实体类实现可序列化接口:

public class User implements Serializable {

    private Integer id;

    private String username;

    private String address;

    ...

  指定Redis缓存主机地址:

spring.redis.host=127.0.0.1

spring.redis.port=6379

  启动项目,测试缓存使用:

  在没有使用Redis缓存之前,每刷新一次页面,都会执行一次查询数据库的操作,添加缓存后,会发现控制台中只出现了一次查询语句,这也就说明所配置的Redis缓存已经生效。

清除Redis缓存

  Redis中的缓存数据不会一直存在,当执行添加、更新和删除操作后,数据库中的数据会发生变化,而Redis缓存中的数据同样也需要进行相应的变化。为了保证Redis缓存中的数据与数据库中的一致,通常需要在执行添加、更新和删除操作之前清除缓存,然后在下一次执行查询操作时,将新的数据存储到Redis缓存中。

  @CacheEvict注解清除缓存:

@CacheEvict(value="UserCache",key="'user.getAllUsers'")

@Override

public void deleteUser(Integer id) {

    System.out.println("id:" + id);

    userMapper.delete(id);

}

本文作者:网友 来源:博客园
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的