SpringBoot2 集成 redis

springboot2集成redis springboot2集成redis简要方法实例 阅读详情

SpringBoot-Redis

spring boot 整合 redis, 实现 redis 的基本存储以及订阅模式
源码位置: https://github.com/DongCarzy/springboot-redis

流程

  • clone code
git clone https://github.com/DongCarzy/springboot-redis.git
  • 安装 Redis
  • 启动 项目

说明文档

  • spring-boot 2.0.4.RELEASE
  • spring-boot-starter-data-redis
  • redis.clients

pom.xml

     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.0.4.RELEASE</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>

     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>1.8</java.version>
     </properties>

     <dependencies>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
         <dependency>
             <groupId>redis.clients</groupId>
             <artifactId>jedis</artifactId>
             <type>jar</type>
             <scope>compile</scope>
         </dependency>
     </dependencies>

自定义序列化方案

springBoot的redisTemplate默认采用的JDK的序列化 JdkSerializationRedisSerializer, 可在源码RedisTemplate.class 中看到 defaultSerializer 的默认是正是 JdkSerializationRedisSerializer ,占用空间较大,且识别度不好.因此我们自定义. 这里采用的是 GenericJackson2JsonRedisSerializer
可以认为它是jackson的升级版本,在序列化的过程种会将Object的类型一起存储起来.

默认 RedisTemplate 声明在 RedisAutoConfiguration.class 这个类中
@Configuration
@ConditionalOnClass({RedisOperations.class})
@EnableConfigurationProperties({RedisProperties.class})
@Import({LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class})
public class RedisAutoConfiguration {
    public RedisAutoConfiguration() {
    }

    @Bean
    @ConditionalOnMissingBean(
        name = {"redisTemplate"}
    )
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
        RedisTemplate<Object, Object> template = new RedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
        return template;
    }

    @Bean
    @ConditionalOnMissingBean
    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
        StringRedisTemplate template = new StringRedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
        return template;
    }
}
自定义方案

只定义其中一个即可满足大多数情况的使用,可根据自己的情况自行定义虚拟化方案,重点在替换 setDefaultSerializer()方法的值

@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnection) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnection);
        redisTemplate.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringRedisSerializer);
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
        return redisTemplate;
    }

}

未声明 StringRedisTemplate, 因为不需要更改 StringRedisTemplate 的序列化方案, 其次. StringRedisTemplate 是继承与 RedisTemplate, 只是他的 KEY 与 value 都是string

此时基本的存储基本都满足了, 使用时只需要要加上如下代码即可:

    private RedisTemplate<String, Object> redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    // 使用
    public Long pushObject(String key, Object source) {
        logger.debug("push object : {}", source);
        // 根据自己的情况选择合适的 存储方式
        // this.redisTemplate.opsForValue().set(key, source);
        return this.redisTemplate.opsForList().leftPush(key, source);
    }

订阅模式

发布通道

这里定义了一个发布消息的通道

@Service
public class MessagePub {

    private RedisTemplate<String, Object> redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    public void convertAndSend(String channel, Object msg) {
        this.redisTemplate.convertAndSend(channel, msg);
    }
}

通过我们的 redisTemplate 的 convertAndSend() 方法将我们的消息发送到固定的通道
这里定义了三个发布消息的通道
- RedisAllReceiver.java : 用于接受所有的消息(匹配topic_* 通道的消息),在后面的配置文件可见到

@Component
public class RedisAllReceiver implements MessageListener {

    private final Logger logger = LoggerFactory.getLogger(RedisAllReceiver.class);

    private RedisTemplate<String, Object> redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    @Override
    public void onMessage(Message message, byte[] bytes) {
        byte[] body = message.getBody();
        byte[] channel = message.getChannel();
        Object itemValue = redisTemplate.getValueSerializer().deserialize(body);
        String topic = redisTemplate.getStringSerializer().deserialize(channel);
        logger.info("topic_*: {}, value: {}", topic, itemValue);
    }

}
  • RedisUserReceiver 用于接受通道一的消息
@Component
public class RedisUserReceiver implements MessageListener {

    private final Logger logger = LoggerFactory.getLogger(RedisUserReceiver.class);

    private RedisTemplate<String, Object> redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    @Override
    public void onMessage(Message message, byte[] bytes) {
        Object itemValue = redisTemplate.getValueSerializer().deserialize(message.getBody());
        String topic = redisTemplate.getStringSerializer().deserialize(message.getChannel());
        logger.info("topic: {}, value: {}", topic, itemValue);
    }
}
  • RedisUser2Receiver 用于接受通道二的消息
@Component
public class RedisUser2Receiver implements MessageListener {

    private final Logger logger = LoggerFactory.getLogger(RedisUser2Receiver.class);

    private RedisTemplate<String, Object> redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    @Override
    public void onMessage(Message message, byte[] bytes) {
        byte[] body = message.getBody();
        byte[] channel = message.getChannel();
        Object itemValue = redisTemplate.getValueSerializer().deserialize(body);
        String topic = redisTemplate.getStringSerializer().deserialize(channel);
        logger.info("topic_user2: {}, value: {}", topic, itemValue);
    }

}

下面是重点戏, 如何配置我们的监听, 即上面定义的三个接收器的注入
回到我们的 RedisConfig.java 文件,加上我们的监听即可

package com.example.springredis;

import com.example.springredis.redis.receiver.RedisAllReceiver;
import com.example.springredis.redis.receiver.RedisUser2Receiver;
import com.example.springredis.redis.receiver.RedisUserReceiver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * @author carzy
 * @date 2018/07/18
 */
@Configuration
public class RedisConfig {

    @Bean
    public JedisConnectionFactory redisConnection() {
        return new JedisConnectionFactory();
    }

    @Bean("redisTemplate")
    public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory redisConnection) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnection);
        redisTemplate.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringRedisSerializer);
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
        return redisTemplate;
    }

    @Bean
    public RedisMessageListenerContainer container(JedisConnectionFactory redisConnection,
                                                   RedisUserReceiver redisUserReceiver,
                                                   RedisUser2Receiver redisUser2Receiver,
                                                   RedisAllReceiver allReceiver) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(redisConnection);
        //  订阅了一个通道
        container.addMessageListener(redisUserReceiver, new PatternTopic(RedisChannel.USER_CHANNEL));
        container.addMessageListener(redisUser2Receiver, new PatternTopic(RedisChannel.USER2_CHANNEL));

        // 匹配多个  channel
        container.addMessageListener(allReceiver, new PatternTopic("topic_*"));
        return container;
    }

    public static class RedisChannel {
        public static final String USER_CHANNEL = "topic_user";
        public static final String USER2_CHANNEL = "topic_user2";
    }

}
  • MessageListener 是我们的监听器,可定义多个: RedisUserReceiver redisUserReceiver, RedisUser2Receiver redisUser2Receiver, RedisAllReceiver allReceiver: 这里我定义了三个
  • RedisMessageListenerContainer 存放我们所有的 监听器 MessageListener
    我定义个三个 MessageListener 前两个分别指向固定的 channel : topic_user 和 topic_user2 , 而最后一个采用了 匹配符 *, 表示可匹配 topic_ 开头的所有通道

如何使用

部分代码

@RestController
public class RedisController {

    private final RedisService redisService;
    private final MessagePub messagePub;

    public RedisController(RedisService redisService, MessagePub messagePub) {
        this.redisService = redisService;
        this.messagePub = messagePub;
    }

    @GetMapping("/redis/string/push")
    public Long addRedis(@RequestParam(name = "value")String value) {
        return this.redisService.pushObject("redis-string", value);
    }

    @GetMapping("/redis/string/pop")
    public String getRedis() {
        return (String) this.redisService.popObject("redis-string");
    }

    @GetMapping("/redis/object/push")
    public Long addObjectRedis(@RequestParam(name = "id")int id,
                               @RequestParam(name = "no")String no,
                               @RequestParam(name = "name")String name) {
        User user = new User();
        user.setId(id);
        user.setNo(no);
        user.setName(name);
        String key = RedisKeyUtil.getKey("user", "id", String.valueOf(user.getId()));
        return this.redisService.pushObject(key, user);
    }

    @GetMapping("/redis/object/pop")
    public User getObjectRedis(@RequestParam(name = "id")int id) {
        String key = RedisKeyUtil.getKey("user", "id", String.valueOf(id));
        return (User) this.redisService.popObject(key);
    }

    /**
     * 以下代码测试 订阅模式
     */
    @GetMapping("/redis/message/pub")
    public void pubMessage(@RequestParam(name = "id")int id,
                           @RequestParam(name = "no")String no,
                           @RequestParam(name = "name")String name) {
        User user = this.setUser(id, no, name);
        this.messagePub.convertAndSend(RedisConfig.RedisChannel.USER_CHANNEL, user);
    }


    @GetMapping("/redis/message1/pub")
    public void pubMessage1(@RequestParam(name = "id")int id,
                           @RequestParam(name = "no")String no,
                           @RequestParam(name = "name")String name) {
        User user = this.setUser(id, no, name);
        this.messagePub.convertAndSend(RedisConfig.RedisChannel.USER2_CHANNEL, user);
    }

    private User setUser(int id, String no, String name) {
        User user = new User();
        user.setId(id);
        user.setNo(no);
        user.setName(name);
        return user;
    }
}

说明

对于 RedisTemplate 的测试
  • 可将代码中的 RedisService 换成 RedisTemplate, 用 RedisTemplate 的方法即可, RedisService 为自己简单封装的一个service
  • 可通过 github 查看源代码,直接 copy 下来即可 springboot-redis
对于 订阅模式 的测试
  • 本地访问: /redis/message/pub API, 例如: http://localhost:8080/redis/message/pub?id=1&no=1&name=1
  • 无论调用 http://localhost:8080/redis/message/pub?id=1&no=1&name=1 或者 http://localhost:8080/redis/message1/pub?id=1&no=1&name=1,会发现 RedisUserReceiver 和 RedisUser2Receiver 会成功接收到各自通道的消息, 而 RedisAllReceiver 会得到所有的消息
  • 日志如下:
RedisUserReceiver   : topic: topic_user, value: User{id=1, no='1', name='1'}
RedisAllReceiver    : topic_*: topic_user, value: User{id=1, no='1', name='1'}
RedisUser2Receiver  : topic_user2: topic_user, value: User{id=1, no='1', name='1'}
RedisAllReceiver    : topic_*: topic_user2, value: User{id=1, no='1', name='1'}
spring boot 2.1学习笔记【九】SpringBoot 2 集成redis springboot2.X 集成redis非常简单,只需要引入依赖包,配置数据源连接池,就可以直接使用redisTemplate了。 注意:springboot 2.X 版本使用lettuce连接池来替换jedis。Lettuce和Jedis都是连接Redis Server的客户端程序,Jedis在实现上是直连redis server,多线... 阅读详情

相关推荐

spring boot 2.1学习笔记【十九】SpringBoot 2 集成响应式redis reactive

spring boot 2.1 之前集成的是同步阻塞的redis,这里讲述集成异步非阻塞的redis,响应式redis集成

刘本龙的专栏 1万+

Spring Boot2 系列教程(二十九)Spring Boot 整合 Redis

Java面试核心知识点一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!Java面试核心知识点[外链图片转存中…(img-qgLgTNAn-1711785924972)]Java面试核心知识点一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间![外链图片转存中…(img-ExKWgnSV-1711785924973)]Java面试核心知识点。

m0_61331573的博客 989

spring boot 2.1学习笔记【十】SpringBoot 2 集成redis多数据源

spring boot 2.1 集成 redis 多数据源

刘本龙的专栏 5174

springboot2.0 集成redis服务详解,以及 (Lettuce & Jedis)

在实际项目开发过程中,相信很多人都有用到过 redis 这个NoSQL,这篇文章就详细讲讲springboot如何整合 redis简单介绍下Redis:Redis是一个开源的使用 ANSI C语言编写,支持网络,可基于内存也可持久化的日志型,Key-Value数据库,并提供了多种语言的 API ,相比Memcached它支持存储的类型相对更多 (字符,哈希,集合,有序集合,列表等),同时Redis是线程安全的。

优秀技术文章收录 2654

Springboot 2.X中Spring-cache与redis整合

Springboot中Spring-cache与redis整合。这也是一个不错的框架,与spring的事务使用类似,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作。

Spring Boot 3.5.4 + LangChain4j实战:用Milvus搭建企业级RAG问答系统(附阿里百炼API配置)

本文详细介绍了如何利用Spring Boot 3.5.4、LangChain4j与Milvus构建企业级RAG问答系统。内容涵盖从架构设计、阿里百炼API安全配置、Milvus部署优化,到RAG检索、会话管理等核心实现,并提供了生产级API设计、监控集成及性能优化等实战经验,旨在帮助开发者打造高可用、可维护的Java AI应用。

weixin_29054399的博客 610

SpringBoot2整合Redis从入门到进阶

首先需要安装Redis,如何安装可以看我的这篇文章 接下来说明如何使用,以及一些Redis的相关知识。 一、缓存 哪些数据适合放入缓存? 即时性、数据一致性要求不高 访问量大且更新频率不高的数据(读多,写少) 本地缓存:和微服务同一个进程。缺点:分布式时本地缓存不能共享 分布式缓存:缓存中间件 二、使用 1. pom.xml文件中导入依赖 <dependency> <groupId>org.springframework.boot</groupId>

冷兮Coding 1986

【FPGA】AD9653设计和调试总结

基于FPGA的AD9653设计,设计思路,注意事项

weixin_41246509的博客 7593

SpringBoot2集合Redis

SpringBoot2集合Redis。

weixin_46608377的博客 249

海康线扫相机平场矫正实战:从原理到精准成像

本文深入解析了海康线扫相机平场矫正的原理与实战操作。通过拆解暗场与明场矫正的物理意义,揭示了其消除系统噪声、补偿像素响应不均的核心机制。文章详细指导了在海康相机上进行平场矫正的标准化流程、关键参数设置(如行高、灰度值控制)及常见误区,并提供了针对高行频匹配、环境稳定性维护等进阶调优技巧与问题排查指南,旨在帮助用户实现从原理理解到精准成像的跨越。

tomato的博客 790

【Codex安装使用手册】

Codex安装部署使用教程

qq_43392230的博客 4975

springboot 集成redis_Spring Boot 2.X(六):Spring Boot 集成 Redis

Redis 简介什么是 RedisRedis 是目前使用的非常广泛的免费开源内存数据库,是一个高性能的 key-value 数据库。Redis 与其他 key-value 缓存(如 Memcached )相比有以下三个特点: 1.Redis 支持数据的持久化,它可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 2.Redis 不仅仅支持简单的 key-value 类型的数据,同时还...

weixin_39637661的博客 242

NI USB-8506 LIN通讯配置全攻略:从驱动安装到NI MAX硬件检测

本文详细介绍了NI USB-8506设备的LIN通讯配置全流程,从驱动安装到NI MAX硬件检测。重点讲解了NI-CAN和NI-XNET驱动的安装避坑技巧,以及LIN通讯参数配置的实战经验,帮助用户快速掌握车载LIN总线通讯技术,提升工作效率。

weixin_29171087的博客 600

Spring Boot 2 集成 Redis 集群详解

通过以上步骤,您已成功在 Spring Boot 2 中集成 Redis 集群。关键点包括正确配置集群节点、使用处理连接、以及自定义确保序列化。Redis 集群自动处理数据分片和故障转移,提升了应用的可靠性和扩展性。如果有更多需求(如事务处理或 pub/sub),可扩展类。建议参考Spring Data Redis 文档进一步优化。

oGuiGui12345的博客 1205

MATLAB安装配置libsvm(附MinGW64配置)

首先声明版本,本人PC系统Windows10 64bit,matlab安装的2016b,libsvm安装的version3.2.21.首先需要下载libsvm包:从林教授的网站上下载: http://www.csie.ntu.edu.tw/~cjlin/libsvm/2.将libsvm3.2.2解压到matlab/toolbox目录下:解压后:D:\matlab2016b\toolbox\libs...

github_35807147的博客 4万+

基于FPGA设计的信号分析仪(项目资料ID:28)

基于现场可编程门阵列(FPGA)设计的信号分析仪。该信号分析仪旨在实现对各类信号的精确分析,具备频率、幅度、相位等参数测量功能。通过采用 FPGA 作为核心处理单元,充分利用其并行处理能力和可重构特性,提高了系统的处理速度和灵活性。论文介绍了信号分析仪的总体设计方案,包括硬件电路设计和软件算法实现。

以培养嵌入式工程师为己任 1万+

Springboot2.x集成Redis集群模式

Springboot2.x集成Redis集群模式 说明 Redis集群模式是Redis高可用方案的一种实现方式,通过集群模式可以实现Redis数据多处存储,以及自动的故障转移。如果想了解更多集群模式的相关知识介绍,欢迎往上爬楼。 准备条件 pom.xml中引入相关jar <!-- 集成Redis --> <dependency> ...

MegaSlark的博客 1342

电商数据采集实战——多平台价格监控、比价分析与智能告警系统

在电商竞争日益激烈的今天,价格监控与比价分析已成为品牌商、渠道商和消费者的核心需求。对于品牌商而言,需要监控各渠道售价是否低于指导价(破价监控);对于消费者而言,希望在最佳时机以最低价购入心仪商品;对于数据分析师而言,价格波动数据是洞察市场趋势的金矿。然而,电商数据采集面临三大核心挑战:本文将基于 Python + Scrapy + Playwright + Redis + ClickHouse 技术栈,构建一套完整的电商价格监控与比价系统。架构分层说明:电商平台的反爬手段层出不穷,采集系统必须具备多层次的

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 136

SpringBoot2.0学习笔记:Spring Boot中集成Redis

一、关于Lettuce 在SpringBoot2.0.x版本中集成Redis,Lettuce现已取代Jedis作为Redis驱动。那Lettuce又是个什么呢?与Jedis又有何区别呢? Lettuce 是一个可伸缩的线程安全的 Redis 客户端,支持同步、异步和响应式模式。多个线程可以共享一个连接实例,而不必担心多线程并发问题。它基于优秀 Netty NIO 框架构建,支持 Redis 的...

最近学习目标:MySQL,Redis 248

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SpringBoot2.0集成Redis的日常使用

前言:在SSM中往往整合一个redis都需要一堆配置,但是自从用了SpringBoot后这一堆配置就由框架来给我们做了,另外还给我们封装了常用的方法,下面我们来讲讲SpringBoot2.0中集成Redis,因为2.0和以前的版本有点不同,所以我们细细讲解。 第一步:直接导入Redis的依赖 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;p...

长流仙山拟画人 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SpringBoot2.0学习笔记:(十) Spring Boot中集成Redis

一、关于Lettuce 关于在SpringBoot2.0.x版本中集成Redis,我们先看一下官方的迁移文档有什么说的: Spring Boot2.0迁移指南 当你使用spring-boot-starter-redis的时候,Lettuce现已取代Jedis作为Redis驱动。当你使用更好级别的Spring数据结构时,你会发现变化时清晰的。我们仍然支持Jedis,并且你可以任意切换依赖机制,通过排...

第二庄 6329

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【第二章】SpringBoot2.x集成Redis

上一篇 【第一章】Centos7.x安装Redis , 以及redis常用命令使用. Redis简介 redis是一个高性能的键(Key)值(Value)数据库. 是当前最热门的的的NoSql数据库之一. Redis优势 基于内存,速度快 数据持久化的支持,可以将内存中的数据异步写入到硬盘中. 数据结构丰富 string<字符串> list<链表> set<...

爱飘de小子 669

(2) SpringBoot 2.X 集成Redis

1. 阿里云服务器(centos7.3)上安装Redis 2. Reids 的SpringBoot 配置 pom.xml 添加依赖Redis和Fastjson依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifact...

Java后端 303

07_SpringBoot2集成Redis连接失败

SpringBoot2 集成 Redis 连接失败

wgy17734894660的博客 461

springboot2.x 集成 redis cluster

springboot2.x 集成 redis cluster 1,添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht

qq_38946877的博客 465

Springboot2.1.0集成Redis

步骤: 引入pom依赖 配置文件 注解@EnableCaching 开始使用 下面开始实现 引入pom 使用的是IDEA,新建一个全新的工程: 直接在创建的时候引入: 在springboot2之后,redis默认集成的是lettuce,如果要使用jedis,需要使用第二个xml配置 第一种: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.spri...

暴躁兔子的记录 5601
上一篇: Nexus3 配置3
下一篇: springBoot2 整合activemq
董董先生
博客等级 码龄10年 70粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值