在单个调用形式 Jedis 中获取多个键值

vir*_*ren 4 java redis jedis

我正在尝试将键列表传递给 jedis 并获取它们的值作为回报。
mget 操作执行此操作,但它不返回键值对,它以列表形式给出所有值。
有什么办法我们可以知道这个查询中的键值对。或者确认列表中返回的值与键的顺序相同。

List<String> lt =jedis.mget(mapArray);
            int j = 0;
            for( String key : mapArray) {
                System.out.println(key+" : "+lt.get(j));
                j++;
            }
Run Code Online (Sandbox Code Playgroud)

谢谢

Ave*_*ias 9

无法返回键:值对列表,因为 Redis MGET 命令仅返回值列表。

但可以确认的是,这些值的返回顺序与您指定的键列表相同,因此您知道列表中返回的第一个元素是您在列表中传递的第一个元素的值,第二个和很快。

您不仅可以在此处的 Redis MGET 文档中查看它:

https://redis.io/commands/mget#examples

还可以在 Jedis 存储库中查看mget测试:

https://github.com/xetorthio/jedis/blob/710ec9c824c6c333809dc7650e6b2084b2c24796/src/test/java/redis/clients/jedis/tests/commands/StringValuesCommandsTest.java#L35