jedis.setex
时间: 2025-01-04 07:31:11 浏览: 5
### Jedis `setex` 方法详解
在 Redis 客户端库 Jedis 中,`setex` 方法用于设置一个具有过期时间的键值对。此方法接受三个参数:键名、过期时间和值。当设定的时间到达后,对应的键会被自动删除[^2]。
#### 方法签名
```java
String setex(String key, int seconds, String value);
```
- **key**: 要存储数据的键名称。
- **seconds**: 键的有效持续时间(以秒计),超过这段时间如果没有对该键进行任何操作,则该键将被移除。
- **value**: 存储于指定键中的字符串形式的数据。
#### 使用示例
下面是一个简单的 Java 代码片段来展示如何使用 `setex` 方法:
```java
import redis.clients.jedis.Jedis;
public class SetExExample {
public static void main(String[] args) {
try (Jedis jedis = new Jedis("localhost")) { // 连接到本地运行的Redis服务器
// 设置名为 "testKey" 的键,在5秒钟之后失效,其值为 "hello world"
String setResult = jedis.setex("testKey", 5, "hello world");
System.out.println("Set result: " + setResult);
Thread.sleep(1000 * 3); // 等待三秒
// 获取并打印当前 "testKey" 对应的值
System.out.println("Value after 3s: " + jedis.get("testKey"));
Thread.sleep(1000 * 3); // 继续等待直到超时
// 尝试获取已过期的键
System.out.println("Value after expiration: " + jedis.get("testKey"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段程序首先连接到本机上的 Redis 实例,并调用 `jedis.setex()` 来创建一个新的键 `"testKey"` 并赋予它五秒的生命期以及初始值 `"hello world"`。接着通过两次休眠模拟了不同时间段内访问同一个键的结果变化情况。
阅读全文