gpt4 book ai didi

redis - 我试图在 Redis 的 Spring 中实现 multiGet 操作,它抛出一个错误

转载 作者:可可西里 更新时间:2023-11-01 11:15:43 29 4
gpt4 key购买 nike

我正在尝试在 Redis 上的 Spring 中执行 multiGet 函数。它给我一个错误。我已经成功实现了 get 函数,但是在实现 multiGet 时它要求我提供一个 Collection 作为第二个参数。我不确定要输入什么?有人可以在这里指导我吗。

这是我的 multiGet() 代码

方法定义:

@Override
public User findById_MultiGet(String id) {
return (User)hashOperations.multiGet("USER", id);
}

Controller 中的代码:

@GetMapping("Map/MultiGet/{id}")
public User allMultiGet(@PathVariable("id") final String id) {
// MultiGet function
return userRepository.findById_MultiGet(id);
}

上述 multiget 方法的错误是 multiget(Object, Collection) type not (String,String) type

下面的 Get 函数代码有效。

public User findById(String id) {
return (User)hashOperations.get("USER", id);
}

Controller 中获取函数的代码:

@GetMapping("Map/Get/{id}")
public User allGet(@PathVariable("id") final String id) {
// Get function
return userRepository.findById(id);
}

最佳答案

对于 multiGet,第二个参数应该是 Collection,如 List(如果您希望列表的值作为结果返回与其所属键在输入列表中相同的位置)或 Set

在您的示例中,这将是这样的:

List<Object> values = hashOperations.multiGet("USER", Arrays.asList("id", "name")); 
Object id = values.get(0);
Object name = values.get(1);

关于redis - 我试图在 Redis 的 Spring 中实现 multiGet 操作,它抛出一个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48836327/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com