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

具体代码:

相关推荐
怒放吧德德9 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆10 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌13 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊14 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang14 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang16 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解16 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
曲幽19 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
SimonKing20 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean20 小时前
Jackson View Extension Spring Boot Starter
java·后端