广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >SpringBoot集成Redis的思路详解
  • 402
分享到

SpringBoot集成Redis的思路详解

2024-04-02 19:04:59 402人浏览 薄情痞子
摘要

目录SpringBoot集成Redis1、概述2、测试Redis3、自定义redisTemplatespringBoot集成Redis 1、概述 Redis是什么? Redis(

springBoot集成Redis

1、概述

Redis是什么?

Redis(Remote Dictionary Server ),即远程字典服务。

是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的api

与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis能该干什么?

内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF)高效率、用于高速缓冲发布订阅系统地图信息分析计时器、计数器(eg:浏览量)… …

特性

多样的数据类型

持久化

集群

事务

2、测试Redis

SpringBoot操作数据,Spring-Data、 jbdc、redis… …

SpringData与SpringBoot齐名的项目

说明:在SpringBoot2.x之后,原来使用的jedis被替换为lettuce

jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,需使用jedis pool连接池!像BIO模式

lettuce:采用Netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据,更像NIO模式

img

新建一个项目

img

img

注意:

img

查看底层

img

源码分析


@Bean
@ConditionalOnMissingBean(  //如果未注入组件条件,我们自己可以定义一个redisTemplate来替换这个默认的
    name = {"redisTemplate"}
)
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
    //默认的 RedisTemplate 没有过多的设置 redis 都是需要序列化的  !
    //两个泛型都是 Object  Object的类型,我们往后使用需要强制转换<String,String>
    RedisTemplate<Object, Object> template = new RedisTemplate();
    template.setConnectionFactory(redisConnectionFactory);
    return template;
}

@Bean
@ConditionalOnMissingBean  //由于String 是redis 中最常用的类型  所有说单独提出来一个bean!
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
    StringRedisTemplate template = new StringRedisTemplate();
    template.setConnectionFactory(redisConnectionFactory);
    return template;
}

1、导入依赖

2、配置连接


# SpringBoot 所有的配置类 都有一个自动配置类  RedisAutoConfiguration
# 自动配置类都会绑定一个 properties 配置文件  RedisProperties
#配置 redis
spring.redis.host=127.0.0.1
spring.redis.port=6379

spring.redis

3、测试!


package com.kk;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisTemplate;

@SpringBootTest
class Redis01SpringbootApplicationTests {

    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    void contextLoads() {
        


        //获取redis的连接对象
//        RedisConnection connection = redisTemplate.getConnectionFactory().getConnection();
//        connection.flushDb();
//        connection.flushAll();

        redisTemplate.opsForValue().set("kk1","kk2");
        System.out.println(redisTemplate.opsForValue().get("kk1"));

    }

}

img

3、自定义redisTemplate

首先先建一个实体类,测试

User类


package com.kk.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Component;

import java.io.Serializable;

@Component
@Data
@AllArgsConstructor
@NoArgsConstructor
//在企业中,我们所有的pojo都会序列化
public class User implements Serializable {
    private String name;
    private int age;
}

测试:


@Test
public void test() throws JSONProcessingException {
    //真实的开发一般都使用json来传递对象
    User user = new User("kk", 17);
    String jsonUser = new ObjectMapper().writeValueAsString(user);//这样就变成了一个json对象了
    redisTemplate.opsForValue().set("user",jsonUser);
    System.out.println(redisTemplate.opsForValue().get("user"));
}

r = new ObjectMapper().writeValueAsString(user);//这样就变成了一个json对象了
redisTemplate.opsForValue().set(“user”,jsonUser);
System.out.println(redisTemplate.opsForValue().get(“user”));
}

==注意:如果不在User类中实现序列化,它会报错==

到此这篇关于SpringBoot集成Redis的文章就介绍到这了,更多相关SpringBoot集成Redis内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot集成Redis的思路详解

本文链接: https://www.lsjlt.com/news/154576.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot集成Redis的思路详解
    目录SpringBoot集成Redis1、概述2、测试Redis3、自定义redisTemplateSpringBoot集成Redis 1、概述 Redis是什么? Redis(...
    99+
    2022-11-12
  • Java SpringBoot 集成 Redis详解
    目录1、概述Redis是什么?Redis能该干什么?特性2、测试Redis3、自定义redisTemplate1、概述 Redis是什么? Redis(Remote Dictiona...
    99+
    2022-11-12
  • SpringBoot集成Redis流程详解
    目录第一步,导入jar包第二步,编写配置类第三步,编写util类第四步,配置yml第一步,导入jar包 <!--Redis--> <depende...
    99+
    2023-05-19
    SpringBoot集成Redis SpringBoot Redis
  • SpringBoot集成SSM、Dubbo、Redis、JSP的案例小结及思路讲解
    目录1.思路讲解2.案例分析2.1接口工程2.2服务提供者2.3服务消费者2.4启动测试!!!1.思路讲解 这个案例其实就是SpringBoot集成SSM、Dubbo、Redis、J...
    99+
    2022-11-12
  • SpringBoot集成Redis—使用RedisRepositories详解
    目录SpringBoot集成Redis 1.添加redis依赖2.在application.properties中添加redis配置信息3.SpringBoot启动类中添加...
    99+
    2022-11-13
  • 详解redis big key 排查思路
    目录定义big key如何排查Big Key官方解决方案解析RDB文件并统计网络统计新增从节点总结今天在秦晓辉的运维系统监控专栏交流群中,看到了几位朋友在讨论Redis big key 扫描的方案。不自觉的来了兴致,参与...
    99+
    2023-06-12
    redis big key 排查 redis big key
  • SpringCloud集成Sleuth和Zipkin的思路讲解
    目录组件说明 Zipkin sleuth基本术语Zipkin 数据持久化组件说明  Zipkin Zipkin 是 Twitter 的一个开源项目,它基...
    99+
    2022-11-13
    SpringCloud集成Sleuth和Zipkin SpringCloud集成Sleuth SpringCloud集成Zipkin
  • springboot 集成dubbo的步骤详解
    目录第一步 搭建zookeeper环境第二步 springboot集成dubbo1.项目目录机构2.代码编写2.1 api目录2.2 consumer目录 web访问、接口调用以及d...
    99+
    2022-11-13
  • ASP.NETCoreWebSocket集群实现思路详解
    目录前言实现nginx配置一对一发送群组发送发送所有人整合到一起一对一处理群组处理全员消息处理示例源码总结前言 提到WebSocket相信大家都听说过,它的初衷是为了解决客户端浏览器...
    99+
    2022-11-13
    ASP.NET Core WebSocket ASP.NET Core WebSocket 集群
  • springBoot详解集成Swagger流程
    目录Swagger简介SpringBoot集成Swagger配置SwaggerSwagger配置扫描接口配置是否启动Swagger配置API文档的分组实体类配置常用的注解小结目标: ...
    99+
    2022-11-13
  • springboot优雅集成redisson详解
    目录集成及注意事项手动注入redisson配置具体yaml配置注解方式需要一个切面集成及注意事项 上一篇文章大白话说了一下redisson的可重入、可续约、阻塞、时间轮、红锁、联锁、...
    99+
    2022-11-13
    spring boot集成redisson spring boot redisson
  • SpringBoot集成MQTT示例详解
    目录引言MQTT特点Apache-Apollo下载配置与启动SpringBoot2的开发添加依赖自定义配置配置MQTT发布和订阅消息发布器发送消息入口类引言 特别提醒: 文...
    99+
    2022-11-13
  • springboot集成redis的使用注解有哪些
    这篇文章给大家分享的是有关springboot集成redis的使用注解有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。redis简介:Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI&...
    99+
    2023-06-29
  • redis实现共同好友的思路详解
    目录背景共同好友实现思路交集并集差集更多set命令说明:背景 ​ 微信朋友圈的点赞、评论,只能看到自己好友的信息。这就涉及到了一个共同好友的概念,通过redis的set集...
    99+
    2022-11-12
  • SpringBoot集成redis的示例分析
    这篇文章给大家分享的是有关SpringBoot集成redis的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如何使用springBoot集成redis 定义REmote ...
    99+
    2022-10-18
  • 使用springBoot集成redis的案例
    小编给大家分享一下使用springBoot集成redis的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!springboot...
    99+
    2022-10-18
  • SpringBoot集成redis的示例代码
    目录前言一、redis是什么二、集成redis步骤三、代码演示前言 redis想必小伙伴们即使没有用过,也是经常听到的,在工作中,redis用到的频率非常高,今天详细介绍一下Spr...
    99+
    2022-11-12
  • SpringBoot集成Redis的过程介绍
    本篇文章和大家了解一下SpringBoot集成Redis的过程介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。Redis 介绍: Redis 服务Redis (REmote Dictionary Server) 是一个...
    99+
    2023-06-15
  • Spring Boot Redis 集成配置详解
    spring Boot 熟悉后,集成一个外部扩展是一件很容易的事,集成Redis也很简单,看下面步骤配置:一、添加pom依赖 <dependency> <groupId>org.springframe...
    99+
    2023-05-31
    spring boot redis
  • Springboot集成mqtt客户端详解
    目录1. 前言2. 引入依赖3. 配置文件4. MQTT消息类5. MQTT消息接收器6. MQTT消息发送器7. 测试MQTT发送消息1. 前言 ​ 这里我们使用springboo...
    99+
    2022-11-13
    Springboot集成mqtt Springboot mqtt
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作