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反序列化为对象
相关推荐
珠峰下的沙砾5 分钟前
如何将IDP映射属性添加,到accountToken中 方便项目获取登录人信息
java
lfwh12 分钟前
Java 实现单链表翻转(附详细注释)
java·开发语言·python
用户62799471826214 分钟前
关于南大通用GBase 8s的DML触发器的讨论
数据库
落霞的思绪20 分钟前
NoSql文档型数据库——Mongodb
数据库·mongodb·nosql
写bug写bug23 分钟前
为什么 LIMIT 0, 10 快,而 LIMIT 1000000, 10 慢?
数据库·后端·mysql
用户62799471826229 分钟前
1小时掌握南大通用GBase 8c Hint核心技巧!让SQL从10秒到1秒
数据库
元亓亓亓1 小时前
java后端开发day35--集合进阶(四)--双列集合:Map&HashMap&TreeMap
java·开发语言
独立开阀者_FwtCoder2 小时前
狂收 33k+ star!全网精选的 MCP 一网打尽!!
java·前端·javascript
再路上12162 小时前
direct_visual_lidar_calibration iridescence库问题
java·服务器·数据库
卡皮巴拉爱吃小蛋糕2 小时前
MySQL的事务(Transaction)【学习笔记】
数据库·笔记·学习·mysql