redis(2)-java客户端使用(IDEA基于springboot)

一、准备工作

首先确保:

  1. Linux 服务器上已安装并启动 Redis 服务
  2. Redis 已配置允许远程连接(修改 redis.conf 文件)
  3. 开发环境(IDEA)已准备好

二、Spring Boot 项目配置 Redis

1. 添加依赖

pom.xml中添加 Redis 相关依赖:

XML 复制代码
<!-- Spring Data Redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<!-- 连接池 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

2. 配置 Redis 连接信息

application.propertiesapplication.yml中配置:

注:host地址取决于虚拟机,密码取决于你的设置

java 复制代码
spring:
  data:#在idea后面几个版本需要添加data,否则无法连接
    redis:
      host: 192.168.253.131  # 虚拟机的IP地址
      port: 6379
      password: 123456
      timeout: 5000
      lettuce:
        pool:
          max-active: 8
          max-idle: 8
          min-idle: 2
          max-wait: 2000ms

3、简单的测试类(String)

java 复制代码
@SpringBootTest
class SpringRedisApplicationTests {
    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    void contextLoads() {
        redisTemplate.opsForValue().set("pet","dog");
        Object name=redisTemplate.opsForValue().get("pet");
        System.out.println(name);
    }

}

这时运行会出现乱码问题,因此要实现序列化。

三、序列化与反序列化

1、工厂序列化方式

实现方式

JDK 序列化是RedisTemplate的默认方式,依赖 Java 自带的序列化机制。

具体代码:

java 复制代码
@Bean
public RedisTemplate<String, 0bject> redisTemplate(RedisConnectionFactory redisConnectionFactory)
throws UnknownHostException{
//创建Template
RedisTemplate<String,Object>redisTemplate = new RedisTemplate<>();
//设置连接工厂
redisTemplate.setConnectionFactory(redisConnectionFactory);
// 设置序列化工具
GenericJackson2JsonRedisSerializer jsonRedisSerializer=new GenericJackson2JsonRedisSerializer();
//key和hashKey采用string序列化
redisTemplate.setKeySerializer(RedisSerializer.string());
redisTemplate.setHashKeySerializer(RedisSerializer.string());
//value和hashValue采用JSON序列化
redisTemplate.setValueSerializer(isonRedisSerializer);
redisTemplate.setHashValueSerializer(isonRedisSerializer);
return redisTemplate;
}

2、自定序列化方式

实现方式

JSON 序列化通过GenericJackson2JsonRedisSerializerJackson2JsonRedisSerializer实现,将对象转为 JSON 字符串存储。需引入 Jackson 依赖(Spring Boot 默认已包含)。

具体代码:

相关推荐
Mahir085 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
曲幽5 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
RyFit6 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码6 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事7 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海7 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠7 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特8 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU8 小时前
Spring IoC&DI
java·数据库·spring
один but you9 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言