java spring boot中怎么整合Redis?详细解析

BSO 2020-11-06 16:05:53 java常见问答 3552

大家都知道,java中的知识是一门功能非常强大的编程语言,它的内容还是非常丰富的。今天就来为大家介绍一些与之相关的内容,也就是java spring boot中怎么整合Redis?一起来了解一下吧。

那么,java spring boot中怎么整合Redis?

使用注解方式实现添加缓存

1.加入依赖,在pom.xml加入依赖,代码展示如下:

<!-- 配置使用redis启动器 -->

<dependency>

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

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

</dependency>

2.修改引导类,修改开启缓存,添加注解@EnableCaching,代码展示如下:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
@EnableCaching
public class Application
{
    public static void main(String[] args)
    {
        SpringApplication.run(Application.class, args);
    }
}

3.设置实现序列化接口,需要修改实体,让实体实现序列化接口,代码展示如下:

@Entity
public class User implements Serializable
{
    @Id
    private Long id;
    private String userName;
    private String password;
    private String name;。。。。。。
}

4.实现添加/删除缓存,修改UserServiceImpl,添加@Cacheable注解实现缓存添加,代码展示如下:

@Override
@Cacheable(value = "userCache", key = "'user.findAll'")
public List < User > findAll()
{
    System.out.println("从Mysql中查询");
    List < User > list = this.userDao.findAll();
    return list;
}
@Override
@CacheEvict(value = "userCache", key = "'user.findAll'")
public List < User > queryUserByName(String name)
{
    System.out.println("缓存清理了!");
    List < User > list = this.userMapper.queryUserByName(name);
    return list;
}

这样设置完成后,执行findAll()方法就会使用缓存,如果缓存没有就添加缓存,而queryUserByName(String name)方法则是删除缓存。

@Cacheable:添加/使用缓存

@CacheEvict:删除缓存

参数value是缓存的名字,在执行的时候,会找叫这个名字的缓存使用/删除

参数key默认情况下是空串””,是Spring的一种表达式语言SpEL,我们这里可以随意指定,但是需要注意一定要加单引号。

以上就是关于java spring boot中怎么 整合Redis的主要内容了。并且用实际的代码为大家详细解析了。如果你对java知识感兴趣,想要了解更多java架构师有关内容,敬请关注奇Q工具网。

推荐阅读:

java spring boot的引导类和实现,实例展示

java中spring boot的目标是什么?需要准备哪些环境?

java spring boot整合的需求是什么?环境准备怎么做?