Redis

Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。在这篇博客中,我们将介绍 Redis 的基本使用和常见操作。

1. 环境准备

首先,我们需要在本地安装 Redis。可以从官网下载对应版本的 Redis,这里我们使用的是 6.2.6 版本。下载完成后,解压并进入解压后的目录,在命令行中执行以下命令启动 Redis:

./src/redis-server

启动成功后,我们可以使用另一个命令行窗口连接 Redis:

./src/redis-cli

连接成功后,我们就可以使用 Redis 的命令行客户端进行操作了。

2. 基本使用

Redis 支持多种数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等。在这里,我们主要介绍字符串的基本操作。

2.1 设置和获取值

使用 SET 命令可以为指定的键设置值,使用 GET 命令可以获取指定键的值:

SET key value
GET key

例如,我们可以设置一个键为 name,值为 Tom 的字符串:

SET name Tom

然后,我们可以使用 GET 命令获取 name 对应的值:

GET name

输出结果为:

"Tom"

2.2 过期时间

我们可以使用 EXPIRE 命令为指定的键设置过期时间,单位为秒:

EXPIRE key seconds

例如,我们可以为 name 设置一个过期时间为 10 秒:

EXPIRE name 10

过期时间设置成功后,当我们在过期时间内获取 name 对应的值时,还是可以正常获取到,但是在过期时间后,获取 name 对应的值时,会返回 (nil)

2.3 删除键

使用 DEL 命令可以删除指定的键:

DEL key

例如,我们可以删除 name 对应的键:

DEL name

删除成功后,获取 name 对应的值时,会返回 (nil)

3. Java 客户端操作

在 Java 中操作 Redis,我们可以使用 Jedis 库。首先,我们需要在项目中引入 Jedis 的依赖。在 Maven 项目中,添加以下依赖:

1
2
3
4
5
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.7.0</version>
</dependency>

接下来,我们可以使用 Jedis 连接 Redis 并进行操作。

3.1 连接 Redis

使用 Jedis 连接 Redis 非常简单,只需要创建一个 Jedis 对象并传入 Redis 的地址和端口号即可:

1
Jedis jedis = new Jedis("localhost", 6379);

3.2 设置和获取值

使用 Jedis 设置和获取值也非常简单,只需要调用 Jedis 对象的 setget 方法即可:

1
2
3
jedis.set("name", "Tom");
String value = jedis.get("name");
System.out.println(value);

输出结果为:

Tom

3.3 过期时间

使用 Jedis 设置过期时间也非常简单,只需要调用 Jedis 对象的 expire 方法即可:

1
jedis.expire("name", 10);

3.4 删除键

使用 Jedis 删除键也非常简单,只需要调用 Jedis 对象的 del 方法即可:

1
jedis.del("name");

4. 小结

在这篇博客中,我们介绍了 Redis 的基本使用和常见操作,并给出了代码示例和详细讲解。Redis 是一个非常强大的数据库,支持多种数据类型和丰富的操作命令,在实际开发中可以用于缓存、会话管理、消息队列等场景。