我在Spring启动应用程序中使用RedisTemplate,我可以使用singleKey读取.
String valueJson = (String) redisTemplate.opsForValue().get(setKey(someId));
我现在有一个“someId”列表,如“List someIds”,我想得到所有ID的数据.当然我可以在列表上进行迭代并使用单独的键点击redis,但我不想要那个,而是我想提供整个列表来一次性获得响应.
请帮忙.
最佳答案:
List results = redisTemplate.executePipelined(
new RedisCallback() {
public Object doInRedis(RedisConnection connection) throws DataAccessException {
StringRedisConnection stringRedisConn = (StringRedisConnection)connection;
for(String id:someIds)
stringRedisConn.get(id);
return null;
}
});
或者在Java 8中:
List results = redisTemplate.executePipelined((RedisCallback) connection -> {
StringRedisConnection stringRedisConn = (StringRedisConnection) connection;
someIds.forEach(id -> {
stringRedisConn.get(id);
});
return null;
});
结果列表将包含您想要的所有内容.
标签:java,spring,redis
来源: https://codeday.me/bug/20190516/1114360.html