首页 > 解决方案 > Selializer PHP Symfony4 的性能

问题描述

我正在对这些类使用序列化程序

use Symfony\Component\Serializer\Serializer;
use Symfony\Component\Serializer\Encoder\XmlEncoder;
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;

public function makeSerializer(){
    $encoders = array(new XmlEncoder(), new JsonEncoder());
    $norm = new ObjectNormalizer();
    $norm->setCircularReferenceLimit(1);
    $normalizers = array($norm);

    $serializer = new Serializer($normalizers, $encoders);
    return $serializer;

}

public function execSerialize(Request $request){ 
    $toJson = ['key' => 'value',,,,] //about 300 line hashes;
    $serializer = $this->makeSerializer(); 
    $jsonContent = $serializer->serialize($toJson, 'json');

我的 $toJson 变量有大约 300 * 20 个数据,虽然不多,但$serializer->serialize($toJson, 'json');花费了将近 10 秒。

对于 Web 应用程序来说,它可能太慢了。

这是序列化器的正确性能吗?

或者我应该检查其他地方或任何方法???

标签: phpsymfony4serialization

解决方案


推荐阅读