跳转到内容

MGET

返回所有(一个或多个)给定 key 的值。

如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。

Terminal window
MGET key [key ...]

参数说明

  • key: 一个或多个要获取值的键

MGET 命令是原子操作,用于同时获取多个键的值。相比于多次调用 GET 命令,MGET 可以减少网络往返次数,提高性能。

在 redisun 中,MGET 命令通过 MGetCommand 类和 Redisun 类中的 mget 方法实现。

Redisun redisun = Redisun.create(options -> {
options.setAddress("redis://127.0.0.1:6379");
});
// 准备键列表
List<String> keys = Arrays.asList("key1", "key2", "key3");
// 获取多个键的值
List<String> values = redisun.mget(keys);
for (int i = 0; i < values.size(); i++) {
System.out.println(keys.get(i) + " = " + values.get(i));
}
// 异步版本
CompletableFuture<List<String>> future = redisun.asyncMget(keys);
future.thenAccept(result -> {
for (int i = 0; i < result.size(); i++) {
System.out.println(keys.get(i) + " = " + result.get(i));
}
});
  1. 如果某个键不存在,返回列表中对应位置的值为 null
  2. MGET 是原子操作,要么全部执行成功,要么全部执行失败
  3. 性能优于多次调用 GET 命令,因为它减少了网络往返次数