Spring boot 集成Redis

Spring boot 集成Redis

背景

Spring boot开发项目时,难免会需要redis的加持,比如登录信息要存redis、一些热点数据的缓存、使用redis实现分布式锁,使用redis过滤前端数据实现幂等性等等。

一,引入依赖

本次我使用的是Spring boot2.7.18版本,加入如下依赖就可以了。

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

二,yml配置redis

yml配置比较简单,配置redis的host,port,以及连接池的信息就可以了。

spring:
  redis:
    database: 1
    host: 127.0.0.1
    port: 6379
    password:      # 密码(默认为空)
    timeout: 6000ms  # 连接超时时长(毫秒)
    lettuce:
      pool:
        max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
        max-wait: -1ms      # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-idle: 10      # 连接池中的最大空闲连接
        min-idle: 5       # 连接池中的最小空闲连接

三,使用

首先要配置RedisTemplate,如下所示。配置好了会,就可以通过RedisTemplate操作redis了。

@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate<String, String> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(new StringRedisSerializer());
        return template;
    }

}

4,redis操作类

直接使用RedisTemplate操作redis有点不方便,所以就写一个redis操作类。因为目前我只用了redis的get和set,所以就封装了这两个,如果你有别的需求,可以继续封装。

@Component
public class RedisUtils {
    @Autowired
    private RedisTemplate<String, String> redisTemplate;
    
    public void set(String key, Object value) {
        redisTemplate.opsForValue().set(key, JSON.toJSONString(value));
    }

    public void set(String key, Object value,Long time) {
        redisTemplate.opsForValue().set(key, JSON.toJSONString(value));
        redisTemplate.expire(key,time,TimeUnit.SECONDS);
    }

    public <T> T get(String key, Class<T> tClass) {
        String s = redisTemplate.opsForValue().get(key);
        return JSON.parseObject(s,tClass);
    }
}

上面代码用到了fastjson,需要引入如下依赖

      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.75</version>
      </dependency>

总结

Spring boot 集成redis是相当简单的,只需要上面的步骤就可以轻松完成。

相关推荐

  1. SpringBoot集成Redis

    2024-06-09 14:58:02       9 阅读
  2. springboot集成-Redis

    2024-06-09 14:58:02       10 阅读
  3. springboot项目集成Redis,使用redis各项功能

    2024-06-09 14:58:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 14:58:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 14:58:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 14:58:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 14:58:02       18 阅读

热门阅读

  1. HTML实现进度条/加载框模版

    2024-06-09 14:58:02       9 阅读
  2. C++ 环形链表(解决约瑟夫问题)

    2024-06-09 14:58:02       10 阅读
  3. 前端高速成长的八个阶段

    2024-06-09 14:58:02       12 阅读
  4. Ethereum-Score-Hella怎么使用,举例说明

    2024-06-09 14:58:02       10 阅读
  5. Node.js 和 Vue 的区别的基本知识科普

    2024-06-09 14:58:02       9 阅读
  6. 谷神后端代码模板:导入

    2024-06-09 14:58:02       10 阅读
  7. Docker:认识Docker镜像

    2024-06-09 14:58:02       8 阅读
  8. elmentUI el-table 总结行

    2024-06-09 14:58:02       9 阅读