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 默认已包含)。

具体代码:

相关推荐
JavaArchJourney几秒前
Java 集合框架
java
尘民102428 分钟前
面试官笑了:线程start() 为什么不能再来一次?
java
会是上一次1 小时前
企业级WEB应用服务器TOMCAT
java·前端·tomcat
Java中文社群2 小时前
抱歉!Java面试标准答案最不重要
java·后端·面试
herderl3 小时前
【无标题】命名管道(Named Pipe)是一种在操作系统中用于**进程间通信(IPC)** 的机制
java·linux·服务器·嵌入式硬件·php
liulanba3 小时前
Redis 缓存问题详解及解决方案
redis·缓存·oracle
笑衬人心。3 小时前
缓存的三大问题分析与解决
java·spring·缓存
用户84913717547164 小时前
JDK 17 实战系列(第7期):迁移指南与最佳实践
java·jvm