有什么办法,当使用spring redis在管道中执行时,可以获取hgetall请求的List吗?
我正在尝试:
RedisCallback action = connection -> {
evictDataItems.forEach(evictDataItem->connection.hGetAll(evictDataItem.getPrimaryKey()));
return null;
};
List<Map<byte[],byte[]>> list = template.executePipelined(action);
这些Map的值需要传递给下一个请求。
但是,executePipelined本身使用JDK序列化器将其转换为字符串。 所以我得到了地图。 这些字节是我的自定义字节,是使用多个序列化程序创建的。
所以,请告知我们是否有任何选择。
答案 0 :(得分:0)
我用过
List<Map<byte[],byte[]>> list = template.executePipelined(action, new BytesRedisSerializer());
public class BytesRedisSerializer implements RedisSerializer {
@Override
public byte[] serialize(Object t) throws SerializationException {
return (byte[]) t;
}
@Override
public Object deserialize(byte[] bytes) throws SerializationException {
return bytes;
}
}