redisTemplate使用Pipeline批量查询,返回的结果全是null,keys集合是有数据的,redis里也是有数据的 public List batchGetList(Collection keys) { List list = new ArrayList(); if (CollectionUtil.isEmpty(keys)) { return list; } // 自定义序列化 RedisSerializer stringSerializer = redisTemplate.getStringSerializer(); RedisSerializer valueSerializer = redisTemplate.getValueSerializer(); RedisSerializer defaultSerializer = redisTemplate.getDefaultSerializer(); List result = redisTemplate.executePipelined(new RedisCallback() { @Override public Object doInRedis(RedisConnection connection) throws DataAccessException { for (String k : keys) { System.err.println(k); byte[] bytes = connection.get(stringSerializer.serialize(k)); byte[] bytes1 = connection.get(defaultSerializer.serialize(k)); byte[] bytes2 = connection.get(valueSerializer.serialize(k)); System.err.println(Arrays.toString(bytes)); System.err.println(Arrays.toString(bytes1)); System.err.println(Arrays.toString(bytes2)); Object deserialize = defaultSerializer.deserialize(bytes); System.err.println(deserialize); list.add((T) deserialize); } return null; } }, redisTemplate.getValueSerializer()); return list; }  换了一种方式,返回还是null public List batchGetList1(Collection keys) { List list = new ArrayList(); if (CollectionUtil.isEmpty(keys)) { return list; } List result = redisTemplate.executePipelined(new SessionCallback() { @Override public Object execute(RedisOperations operations) throws DataAccessException { keys.forEach(key->{ System.err.println(key); Object o = operations.opsForValue().get(key); System.err.println(o); list.add((T) o); }); return null; } }); return list; } 