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

Springboot整合Redis客户端

文章目录

    • 1.引入依赖
    • 2.yml文件配置
    • 3.使用(StringRedisTemplate)
      • 概述
      • 解决的问题
      • 缺点
      • 示例代码
    • 4.使用(RedisTemplate)

1.引入依赖

<!--redis依赖-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--common-pool连接池依赖-->
<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-pool2</artifactId>
</dependency>

2.yml文件配置

spring:
  redis:
    host: redis地址
    port: 6379
    password: 密码
    # 连接池
    lettuce:
      pool:
        max-active: 10 # 最大连接
        max-idle: 10 # 最大空闲连接
        min-idle: 1 # 最小空闲连接
        time-between-eviction-runs: 10s # 连接等待时间

3.使用(StringRedisTemplate)

概述

使用Spring默认提供的StringRedisTemplate,他的key value序列化默认就是String方式,省去自定义RedisTemplate的过程

解决的问题

1.默认的RedisTemplate,添加到redis的数据会序列化为字节形式,可读性差,内存占用较大

2.使用自定义的RedisTemplate,key序列化为String,value序列化为Object,添加到redis的数据会多记录一行"@class"用于反序列化

缺点

存储**对象**数据

每次写数据需要手动序列化,读数据需要手动反序列化

示例代码

@Autowired
private StringRedisTemplate stringRedisTemplate;

//1.针对String数据
@Test
public testString(){
  //写入一条String数据
  stringRedisTemplate.opsForValue.set("name","虎哥");
  //获取string数据
  Object name = stringRedisTemplate.opsForValue.get("name");
  //打印name
  ………………
}


//SpringMvc默认json序列化工具
private static final ObjectMapper mapper = new ObjectMapper();
//2.针对对象类型数据
@Test
public testObject(){
  //创建对象
  User user = new User("jack","21");
  //手动序列化
  String json = mapper.writeValueAsString(user);
  //写入数据
  stringRedisTemplate.opsForValue.set("name",json);
  String jsonName = stringRedisTemplate.opsForValue.get("name");

  //反序列化
  User user1 = mapper.readValue(jsonName,User.class);
  
  //打印user1

}

4.使用(RedisTemplate)


http://www.kler.cn/a/531986.html

相关文章:

  • 力扣73矩阵置零
  • 【Redis】安装配置Redis超详细教程 / Linux版
  • 小程序-基础加强
  • 读算法简史:从美索不达米亚到人工智能时代05天气预报
  • 编程AI深度实战:给vim装上AI
  • 集合通讯概览
  • 2025.2.2牛客周赛 Round 79 IOI
  • 手写MVVM框架-构建虚拟dom树
  • 在Vue3 + Vite 项目中使用 Tailwind CSS 4.0
  • 多线程创建方式三:实现Callable接口
  • WireShark4.4.2浏览器网络调试指南:偏好设置下(十)
  • SpringBoot+Mybatis整合Mysql数据库的Demo
  • 《黑马点评》实战笔记
  • Qwen2.5-Max:AI技术的新里程碑
  • 力扣 55. 跳跃游戏
  • 【OS】AUTOSAR架构下的Interrupt详解(下篇)
  • Verilog基础(五):时序逻辑
  • 【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(三)
  • 【C++】B2124 判断字符串是否为回文
  • 50【Windows与Linux】
  • 【C++】string类(上):string类的常用接口介绍
  • 与,|与||的区别
  • python leetcode 笔记
  • 一些硬件知识【20250/2/3】
  • html中的表格属性以及合并操作
  • DeepSeek-R1-Distill-Qwen-1.5B 本地部署报错解决