千家信息网

SpringBoot如何集成Redis

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关SpringBoot如何集成Redis的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SpringBoot集成Redis1、概述Redis是什么?R
千家信息网最后更新 2026年11月01日SpringBoot如何集成Redis

这篇文章给大家分享的是有关SpringBoot如何集成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模式

新建一个项目

注意:

查看底层

源码分析:

@Bean@ConditionalOnMissingBean(  //如果未注入组件条件,我们自己可以定义一个redisTemplate来替换这个默认的    name = {"redisTemplate"})public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {    //默认的 RedisTemplate 没有过多的设置 redis 都是需要序列化的  !    //两个泛型都是 Object  Object的类型,我们往后使用需要强制转换    RedisTemplate 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#配置 redisspring.redis.host=127.0.0.1spring.redis.port=6379spring.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;@SpringBootTestclass Redis01SpringbootApplicationTests {    @Autowired    private RedisTemplate redisTemplate;    @Test    void contextLoads() {        /*        redisTemplate        opsForValue  操作字符串的  类似String        opsForList  操作List  类似List        opsForSet        opsForHash        opsForZSet        opsForGeo        opsForHyperLogLog        除了基本的操作 ,我们常用的方法都可以直接通过redisTemplate 比如事务和基本的CRUD         */        //获取redis的连接对象//        RedisConnection connection = redisTemplate.getConnectionFactory().getConnection();//        connection.flushDb();//        connection.flushAll();        redisTemplate.opsForValue().set("kk1","kk2");        System.out.println(redisTemplate.opsForValue().get("kk1"));    }}

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;}

测试:

@Testpublic 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"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 配置 内存 对象 线程 测试 安全 序列 类型 事务 内容 多个 常用 文件 更多 模式 篇文章 语言 项目 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 互联网科技海报 互联网科技社 互联网与科技金融数据 深圳互联网络科技有限公司 远信互联网科技 朗涯互联网科技 米客互联网科技 一五八零互联网科技 盛创互联网科技有限公司 银川新华互联网科技学校地址 阿里巴巴算科技企业还是互联网 港股科技和互联网 崇明区互联网教育科技售后服务 朱啸虎曾投资哪些互联网科技企业 互联网科技如何创业 云南省自由互联网科技有限公司 信承诺互联网科技有限公司 湖北辰鑫科技互联网 互联网界的黑科技 互联网科技的发展 成都仁贤领冠互联网科技有限公司 太原新华互联网科技学校怎么样 中国最先进互联网科技公司 宁夏众和广鑫互联网科技有限公司 崇明区互联网教育科技售后服务 恒生互联网科技业指数调整周期 烟台灵鸽互联网科技有限公司 昆明中奇联合互联网科技 杭州科技互联网公司有哪些
0