gpt4 book ai didi

java - 批量从 Redis 中获取数据 RedisTemplate

转载 作者:IT王子 更新时间:2023-10-29 05:56:45 25 4
gpt4 key购买 nike

我在我的 spring boot 应用程序 中使用 RedisTemplate 并且我能够使用 singleKey 进行读取。

String valueJson = (String) redisTemplate.opsForValue().get(setKey(someId));

我现在有一个“someId”列表,如“List someIds”,我想获取所有 ID 的数据。当然,我可以在列表上迭代并使用单独的键点击 redis,但我不想那样,相反我想提供整个列表以一次性获得响应。

请帮忙。

最佳答案

您需要使用流水线:https://redis.io/topics/pipelining

List<Object> results = redisTemplate.executePipelined(
new RedisCallback<Object>() {
public Object doInRedis(RedisConnection connection) throws DataAccessException {
StringRedisConnection stringRedisConn = (StringRedisConnection)connection;
for(String id:someIds)
stringRedisConn.get(id);

return null;
}
});

或者在 Java 8 中:

List<Object> results = redisTemplate.executePipelined((RedisCallback<Object>) connection -> {
StringRedisConnection stringRedisConn = (StringRedisConnection) connection;

someIds.forEach(id -> {
stringRedisConn.get(id);
});

return null;
});

结果列表将包含您想要的所有内容。

关于java - 批量从 Redis 中获取数据 RedisTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41974812/

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