hprose/hprose-php

hprose能否支持stream响应,在获取数据量很大时候用

Opened this issue · 4 comments

例如我需要获取一个很大的数据集,拿回来进行过滤、转换再保存成特定的格式。如果响应数据很大,内存会爆掉。

目前可以使用分页解决,分割成多个小数据获取在进行合并。但逻辑会很麻烦。

能否支持流数据响应(stream response)。
例如:guzzle stream。
https://docs.guzzlephp.org/en/stable/request-options.html#stream

andot commented

序列化的数据,你打算怎么流式处理?

因为流式数据没有大小限制,只是一个想法。如果支持不了,有别的更好方法实现很大数据处理吗?

andot commented

你举的那个例子里面传输的流式数据其实都是原始字节数据,当然可以很方便的流式处理,但是 hprose 传输的是结构化的序列化数据,接受的数据必然是完整的数据才能反序列化,不然没法处理啊。所以,你分页传输也算是流式处理了吧。

另外,你说的流式处理能把你期望的使用方式写个例子吗?不是说现在可以运行的例子,而是你期望如何使用的例子。

谢谢,你是对的。序列化数据是不能做成流式数据的,也不应该放这里。

如果需要流式数据,可以远程调用返回新的流API地址就好了