SpringBoot 整合Redis

添加依赖

在pom.xml文件添加redis的依赖,如下:

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

配置

application.yml文件中添加Redis相关的配置项,如下所示:

spring:  
  redis:
    host: 127.0.0.1
    port: 6379
    lettuce:
      pool:
        max-active: 10   # 连接池最大连接数 
        max-idle: 10  # 连接池最大空闲连接
        min-idle: 1  # 连接池最小空闲连接

案例

1、字符串元素

@Service
public class RedisServiceImpl implements RedisService {

    @Resource
    private RedisTemplate redisTemplate;

    public void setString(){
        String key = "stringKey";
        redisTemplate.opsForValue().set(key, "This is String Test");
    }

    public void getString(){
        String key = "stringKey";
        String value = (String) redisTemplate.opsForValue().get(key);
        System.out.println(value);
    }

}

2、List元素

@Service
public class RedisServiceImpl implements RedisService {

    @Resource
    private RedisTemplate redisTemplate;

    public void setList(){
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        redisTemplate.opsForList().leftPushAll("ListKey", list);  // 将所有List元素添加至ListKey中
        redisTemplate.opsForList().leftPush("ListKey", "d");  //添加单个元素
        redisTemplate.opsForList().rightPush("ListKey", "e");  //添加单个元素
    }

    public void getList(){
        redisTemplate.opsForList().leftPop("ListKey");  //弹出一个元素
        redisTemplate.opsForList().rightPop("ListKey"); //弹出一个元素
    }
}

3、对象元素

@Service
public class RedisServiceImpl implements RedisService {

    @Resource
    private RedisTemplate redisTemplate;

    public void setObject(){
        Student student = new Student();
        student.setName("李四");
        student.setAge(12);
        student.setGrade("三年级");
        student.setCreatedTime(LocalDateTime.now());
        redisTemplate.opsForValue().set("objectKey", student);
    }

    public void getObject(){
        Student student = (Student) redisTemplate.opsForValue().get("objectKey");
        System.out.println(student);
    }
}

4、Map元素

@Service
public class RedisServiceImpl implements RedisService {

    @Resource
    private RedisTemplate redisTemplate;
  
    public void setMap(){
        Map<String, String> map = new HashMap<>();
        map.put("a", "1");
        map.put("b", "2");
        redisTemplate.opsForHash().putAll("mapKey", map);
    }

    public void getMap(){
        String val = (String) redisTemplate.opsForHash().get("mapKey", "a");
        redisTemplate.opsForHash().delete(("mapKey", "a"));
        System.out.println(val);
    }
}

5、Set元素

@Service
public class RedisServiceImpl implements RedisService {

    @Resource
    private RedisTemplate redisTemplate;
  
    public void setSet(){
        redisTemplate.opsForSet().add("setKey", "a", "b");
    }

    public void getSet(){
        redisTemplate.opsForSet().pop("setKey");
    }
}

原创文章,作者:jiafegn,如若转载,请注明出处:https://www.techlearn.cn/archives/454

Previous 2023年3月26日 下午10:29
Next 2023年4月2日

相关推荐

  • SpringBoot 定时器

    spring提供了@Scheduled和@EnableScheduling两个注解用来快速开发定时器,使用很简单 用法: 1、Springboot的启动类中加上@EnableSch…

    springboot 2023年4月23日
    136
  • springboot 注解 @Qualifier

    作用 可以在依赖注入查找候选者的过程中对候选者进行过滤,比如:在需要自动注入java bean时,如果注入的是一个接口,而这个接口又有多个实现类,则会报错,解决方法是在注入接口上增…

    springboot 2022年9月14日
    199
  • SpringBoot 依赖注入

    前言 SpringBoot 中通过注解实现依赖注入主要有以下几种: @Autowired注解 @Qualifier注解 @Resource注解 @Primary注解 @Autowi…

    springboot 2024年1月15日
    632
  • Springboot 注解 @DependsOn

    作用 @DependsOn用来指定当前bean依赖的bean,spring在创建bean的时候,如果bean之间没有依赖关系,那么spring容器很难保证bean实例创建的顺 序,…

    springboot 2022年9月1日
    368
  • SpringBoot 整合RocketMQ

    简介 使用RocketMQ有两种方式,一种是引入rocketmq-client需要自己创建生产者和消费者,相对来说比较繁琐;另一种是引入rocketmq-spring-boot-s…

    springboot 2023年4月30日
    312
  • Springboot 注解 @ConfigurationProperties

    作用 @ConfigurationProperties注解主要作用就是将prefix属性指定的前缀配置项的值绑定到这个Bean上,默认情况下需要和@Component或者@Conf…

    springboot 2022年9月2日
    182
  • SpringBoot CRUD基础开发 入门

    需求简介 环境准备 1、新建项目 新建一个crud的项目,如下: 2、新建数据库脚本 新建curd数据库 初始化数据库 引入依赖 1、引入web依赖 2、引入Lombok依赖 3、…

    2023年3月26日
    179
  • SpringBoot 全局异常统一处理

    前言 在实际的项目开发过程中,会有大量的异常发生,而我们并不能将异常信息反馈到用户,所以在返回结果的时候需要对异常进行处理,可是如果在每个Controller返回结果都需要进行异常…

    springboot 2023年4月29日
    126
  • SpringBoot 整合Mybatis

    简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBat…

    2024年8月28日
    309
  • SpringBoot 整合Druid数据源

    简介 Druid是阿里巴巴开源的数据库连接池,号称是Java语言中最好的数据库连接池,能够提供强大的监控和扩展功能。 优点 引入依赖 这里使用的是SpringBoot整合版的Dru…

    2023年3月26日
    169