当前位置: 首页 > news >正文

SpringBoot整合SpringDataRedis

目录

1.导入Maven坐标

2.配置相关的数据源

3.编写配置类

4.通过RedisTemplate对象操作Redis


SpringBoot整合Redis有很多种,这里使用的是Spring Data Redis。接下来就springboot整合springDataRedis步骤做一个详细介绍。

1.导入Maven坐标

        首先,需要导入一个spring官方的start。

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
        </dependency>

2.配置相关的数据源

        这里只做一些最基本的配置,包括地址,端口号,密码等等,其他的最大连接数等等就大家按照自己的需求配置即可。

spring:
  redis:
    database: 8
    password: 1234
    host: localhost
    port: 6379

3.编写配置类

        因为使用spring data redis需要用到一个RedisTemplate对象,所以我们需要编写一个配置类,然后创建一个RedisTemplate对象并交给spring管理,这样我们就可以注入这个bean对象并且使用它。

@Configuration
@Slf4j
public class RedisConfiguration {
    @Bean
    public RedisTemplate<String , Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
        log.info("开始创建redis模板对象");
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
//        设置key的序列化器(防止乱码)
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        return redisTemplate ;
    }
}

4.通过RedisTemplate对象操作Redis

        最后,我们进行一个测试,通过注入RedisTemplate对象来对Redis进行相关数据的存储和取用等等操作。


@SpringBootTest
public class springbootTest {
    @Autowired
    private RedisTemplate<String , Object> redisTemplate ;  //先注入RedisTemplate对象
    @Test
    public void StringTest(){
//        获取到操作String字符串类型的操作对象
        ValueOperations<String, Object> ops = redisTemplate.opsForValue();
//        往里面存储一个key为"name" , value为"zhangsan"的数据
        ops.set("name","zhangsan");
//        获取key为“name”的值
        String name = (String) ops.get("name");
        System.out.println("得到name为:  "+name);
    }
}

最后我们来看看测试结果:

数据name已经成功存储在Redis数据库中:

控制台成功获取到对应的数据:

本次分享就到这里啦,下次再见!

相关文章:

  • 使用Jetpack Compose和DummyJSON加速你的Android开发
  • Python Virtualenv:创建独立的 Python 开发环境
  • 天地图 uniapp使用笔记
  • dbForge Studioor MySQL v6 解锁版 安装教程(MYSQL数据库客户端)
  • ubuntu换镜像源方法
  • 课程设计---哈夫曼树的编码与解码(Java详解)
  • Stable diffusion 3 正式开源
  • 嵌入式硬件VS软件,到底哪个更难?
  • 详解 HBase 的安装部署及命令行操作
  • C语言从头学22——main( )函数
  • VMR,支持30+种编程语言的SDK版本管理器,支持Windows/MacOS/Linux。
  • 嵌入式开发十八:USART串口通信实验
  • 22种常用设计模式示例代码
  • Building wheels for collected packages: mmcv, mmcv-full 卡住
  • Mamaba3--RNN、状态方程、勒让德多项式
  • Vue CLI,Vue Router,Vuex
  • 如何配置node.js环境
  • Vue59-全局事件总线:任意组件间通信
  • 软件工程复习
  • 数据库 | 试卷五试卷六试卷七
  • 上海“电子支付费率成本为0”背后:金融服务不仅“快”和“省”,更有“稳”和“准”
  • 碧桂园境外债务重组:相当于现有公众票据本金额逾50%的持有人已加入协议
  • 图忆|红场阅兵:俄罗斯30年来的卫国战争胜利日阅兵式
  • 5月12日至13日北京禁飞“低慢小”航空器
  • 湖南省邵阳市副市长仇珂静主动向组织交代问题,接受审查调查
  • 专访|李沁云:精神分析不会告诉你“应该怎么做”,但是……