【讨论】在PHP中对数组或对象进行序列化/反序列化有哪些好的方案?


之前我曾采用serialize/unserialize这种比较大众化的方式来对php中的对象和数组进行序列化和反序列化,但是感觉生成的字符串比较大,比较耗资源。

————————————————————————————————————
@毛杭军
用base64 、mcrypt、json_encode($array)
对于字符串比较大的情况,可以进行压缩,如compress扩展.
————————————————————————————————————
@草狂
从效率上来讲serialize是要比json好很多的。
新的压缩库有一些,可以搜索下,比如msgpack,压出来要小不少,速度说是比serialize要快,不过没有测试过
————————————————————————————————————
@方汉
如果不是存cookie之类的,那么直接拷贝内存最快
————————————————————————————————————

大家有什么更佳的方案没有,可继续补充。

讨论 php

笑得很累不笑了 12 years, 10 months ago

首先肯定要支持反序列化,简单地说是要能解开序列化后的串

除了serialize,可以用base64 、mcrypt、json_encode($array)

对于字符串比较大的情况,你可以进行压缩,如compress扩展.

卧了个槽的 answered 12 years, 10 months ago

Your Answer