Redis基础篇-004 Redis的Java客户端

Redis客户端分为三类:

  • 命令行客户端
  • 图形化桌面客户端
  • 编程客户端(java客户端)

redis可视化工具和客户端

1、 Jedis快速入门

Jedis的官网地址: https://github.com/redis/jedis

1.1 新建一个Maven工程并引入以下依赖

XML 复制代码
<!--引入Jedis依赖-->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>4.2.0</version>
</dependency>

<!--引入单元测试依赖-->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.8.2</version>
    <scope>test</scope>
</dependency>

1.2 编写测试类并与Redis建立连接

java 复制代码
private Jedis jedis;

@BeforeEach //被该注解修饰的方法每次执行其他方法前自动执行
void setUp(){
    // 1. 获取连接
    jedis = new Jedis("192.168.230.88",6379);
    // 2. 设置密码
    jedis.auth("132537");
    // 3. 选择库(默认是下标为0的库)
    jedis.select(0);
}

1.3 编写一个操作数据的方法(这里以操作String类型为例)

java 复制代码
@Test
public void testString(){
    // 1.往redis中存放一条String类型的数据并获取返回结果
    String result = jedis.set("url", "https://www.oz6.cn");
    System.out.println("result = " + result);

    // 2.从redis中获取一条数据
    String url = jedis.get("url");
    System.out.println("url = " + url);
}

1.4 编写一个释放资源的方法

java 复制代码
    @AfterEach //被该注解修饰的方法会在每次执行其他方法后执行
    void tearDown(){
        // 1.释放资源
        if (jedis != null){
            jedis.close();
        }
    }

1.5 执行testString()方法后测试结果如图所示

2、Jedis连接池

3、SpringDataRedis介绍

4、SpringDataRedis快速入门

5、RedisSerializer配置

6、StringRedisTemplate

7、总结

RedisTemplate的两种序列化实践方案,两种方案各有各的优缺点,可以根据实际情况选择使用。

7.1 方案一

  1. 自定义RedisTemplate
  2. 修改RedisTemplate的序列化器为GenericJackson2JsonRedisSerializer

7.2 方案二

  1. 使用StringRedisTemplate
  2. 写入Redis时,手动把对象序列化为JSON
  3. 读取Redis时,手动把读取到的JSON反序列化为对象
相关推荐
2601_963870208 小时前
【计算机毕业设计】基于Spring Boot的专科医院医疗管理系统
java·spring boot·课程设计
Bingo_BIG8 小时前
Java Spring 批量修改,实体、接口、方法的定义
java·spring
画中有画9 小时前
软件架构中质量属性(性能、安全、可扩展性)的权衡设计
java·运维·安全
Shaoxi Zhang9 小时前
JAVA学习笔记035——对象和JSON格式
java·笔记·学习
赵丙双9 小时前
CountDownLatch 源码分析
java·aqs·countdownlatch
Python私教9 小时前
从表格到管理系统:别先写页面,先补齐权限、流程和审计
数据库·后端·架构
陈皮波比茶9 小时前
Redis学习
数据库·redis·学习
余额瞒着我当琳9 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
—Miss. Z—9 小时前
备份与恢复
数据库·oracle
thefool11226610 小时前
翻转二叉树
java