使用 Java 客户端操作 Redis

2021-07-11  本文已影响0人  SheHuan

一、Jedis

创建一个 Maven 项目,添加 Jedis 依赖:

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.3.0</version>
</dependency>

先看一个简单版本的使用:

// 1、创建Jedis连接,指定redis的host以及port
Jedis jedis = new Jedis("localhost", 6379);
// 2、密码认证
jedis.auth("shehuan");
// 4、使用 Jedis 对象中的 API 方法 操作 Redis
// 5、关闭连接,释放资源
jedis.close();

连接成功后就可以使用 Jedis 对象来操作 Redis 了,Jedis 中的 API 方法和 Redis 的原生命令基本一致,使用起来很容易上手。

在实际的应用中,我们一般不会直接创建 Jedis 来连接 Redis,而是通过连接池来获取连接:

// 1、创建Jedis连接池
JedisPool jedisPool = new JedisPool("localhost", 6379);
// 2、从连接池获取jedis连接
Jedis jedis = jedisPool.getResource();
// 3、密码认证
jedis.auth("shehuan");
try {
    // 4、使用 Jedis 对象中的 API 方法 操作 Redis
} catch (Exception e) {
    e.printStackTrace();
} finally {
    // 5、关闭连接,释放资源
    if (jedis != null) {
        jedis.close();
    }
}

二、Lettuce

创建一个 Maven 项目,添加 Lettuce 依赖:

<dependency>
    <groupId>io.lettuce</groupId>
    <artifactId>lettuce-core</artifactId>
    <version>6.0.2.RELEASE</version>
</dependency>

如下是 Lettuce 简单的使用:

// 1、配置 Redis 服务器连接信息,uri格式,redis://密码@ip:端口
RedisClient redisClient = RedisClient.create("redis://shehuan@localhost:6379");
// 2、创建一个连接
StatefulRedisConnection<String, String> connect = redisClient.connect();
// 3、获取执行 Redis 指令的对象
RedisCommands<String, String> syncCommands = connect.sync();
// 4、使用 syncCommands 执行具体的 Redis 操作

connect.sync()获取的是 Redis 指令的同步操作的对象,还可以使用connect.async()获取指令的异步操作的对象。

三、小结

从 SpringBoot2.x 开始,默认使用 Lettuce 作为 Spring Data Redis 的内部实现,而不是 Jedis 。下边对两者做一个简单比较:

上一篇下一篇

猜你喜欢

热点阅读