springboot2.0 配置redis监听消息代码

该博客介绍了如何在SpringBoot2.0中配置Redis,包括pom.xml的依赖配置,Redis的连接客户端Jedis的使用,以及详细展示了Redis的配置、消费者监听代码的实现,特别提到了在遇到RedisTemplate注入无效问题时,采用手动注入bean的解决办法,同时给出了工具类的代码示例和本地测试Redis命令的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.第一步,pom.xml配置

<dependency>
   <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <exclusions>
        <exclusion>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </exclusion>
        <exclusion>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

redis的数据依赖,以及redis的连接客户端实现jedis,jedis主要配置一些需要优化的东西

2.redis代码:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisPassword;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.jedis.JedisClientConfiguration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig;

import java.time.Duration;

@PropertySource("classpath:con
Spring Boot 存储数据到 Redis 是一种高效的方式来进行缓存处理或其他形式的状态管理。Redis 作为一个高性能的键值对存储系统,在 Spring Boot 应用程序中能够很好地起到提升性能、减少数据库压力的作用。 要在 Spring Boot 中将数据保存至 Redis 主要涉及以下几个步骤: ### 1. 添加依赖 首先需要在 `pom.xml` 文件里添加对应的 Starter 包: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 如果您的应用涉及到字符串序列化问题,则建议也加入如下 JSON 工具库支持(如 Jackson 或者 FastJSON 等),以便更方便地操作复杂的数据结构。 ### 2. 配置文件设置 接着配置 application.yml 或 properties 格式的属性文件,用于指定连接 redis-server 的相关信息: ```yaml spring: redis: host: localhost # 如果是在本地运行默认即可;否则替换为实际地址。 port: 6379 # 默认端口号,默认不用修改除非自定义了其他端口 password: "" # 若无密码则留空 lettuce: pool: max-active: 8 # 最大活跃数 max-wait: -1ms # 超过最大激活数目时的最大等待时间(-1表示无限) max-idle: 5 # 池子里最大的闲置状态对象数量 min-idle: 0 # 初始化创建的对象个数(当池子里没有可用对象时,会一次性创建该数量的对象再放入池内) ``` 注意这里的客户端驱动我们推荐使用 Lettuce ,它是一个基于 Netty 构建的异步非阻塞式 Redis 客户端,并且从版本 2.0 开始成为了官方首选方案之一。 ### 3. 编码实现业务逻辑 接下来就可以开始编码啦!您可以直接通过注入 `StringRedisTemplate` 来快速上手基本 CRUD 功能: #### 示例代码片段 ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; @Service public class CacheService { @Autowired private StringRedisTemplate template; // 插入key-value 对象进REDIS并设定了有效期 public void setCacheData(String key, String value){ template.opsForValue().set(key,value); log.info("插入完成"); } // 可以获取已存在得Key对应value信息 public Object getCacheData(final String key) { return template.opsForValue().get(key); } } ``` 此外还有更多高级特性可以挖掘,比如监听模式下的发布订阅机制等,这取决于您具体的应用场景需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值