public void testRedisPipeline() { // 先往redis中放置6个key List<Integer> list = Lists.newArrayList(1, 2, 3, 4, 5, 6); for (int i = 0; i < list.size(); i++) { Integer element = list.get(i); redisTemplate.executePipelined((RedisCallback<String>) redisConnection -> { String redisKey = "testRedisPipeline_" + element; redisConnection.hSet(redisKey.getBytes(), String.valueOf(1).getBytes(), (element + "_test").getBytes()); // 模拟一个key失效 if (element == 3) { redisConnection.hDel(redisKey.getBytes(), String.valueOf(1).getBytes()); } return null; }); } // 批量获取key List<String> returnList = redisTemplate.executePipelined((RedisCallback<String>) redisConnection -> { for (Integer userId : list) { String redisKey = "testRedisPipeline_" + userId; redisConnection.hGet(redisKey.getBytes(), String.valueOf(1).getBytes()); } return null; }, redisTemplate.getStringSerializer()); System.out.println("source list detail: " + list.toString()); System.out.println("return list size: " + returnList.size()); System.out.println("return list detail: " + returnList.toString()); for (String userId : returnList) { if (StringUtils.isNotBlank(userId)) { System.out.println(userId); } }}输出:[1,2,3,4,5,6]6[1,2,null,4,5,6]1_test2_test4_test5_test6_test
评论