Symfony 哪一个更能节省一些时间;“静态”;数据?数组还是缓存的数据库表?

Symfony 哪一个更能节省一些时间;“静态”;数据?数组还是缓存的数据库表?,symfony,doctrine-orm,symfony-3.2,Symfony,Doctrine Orm,Symfony 3.2,在Symfony 3.2中: 我有一些这样的数据(作为数组): 如您所见,大约有30个300-400行的数组;但它们是一个静态数组(以后不会更改) 以下哪种方法更好 1-指示10个服务并通过如下方法获取每一行: public function getSome($col) { return $this->list1[$col]; } 2-或插入10个表(实体)和缓存主题(因为速度高) Thanx%创建播种机并将此数据存储到数据库中。稍后,将此数据作为对象检索,并根据需要使用。是的

在Symfony 3.2中:

我有一些这样的数据(作为数组):

如您所见,大约有30个300-400行的数组;但它们是一个静态数组(以后不会更改)

以下哪种方法更好

1-指示10个服务并通过如下方法获取每一行:

public function getSome($col) {
     return $this->list1[$col];
}
2-或插入10个表(实体)和缓存主题(因为速度高)


Thanx%

创建播种机并将此数据存储到数据库中。稍后,将此数据作为对象检索,并根据需要使用。是的,您可以存储到缓存中以加速

创建播种机并将此数据存储到数据库中。稍后,将此数据作为对象检索,并根据需要使用。是的,您可以存储到缓存中以加速

这个问题没有明确的答案。它取决于确切的数据集、访问模式(查询相同值的次数)、缓存类型(文件或内存),甚至可能取决于硬件资源

根据经验和常识,我可以建议:

  • 使用ORM通常比较慢,即使是缓存的
  • 使用外部内存缓存服务(例如memcached)通常比在PHP内存(例如数组)中使用值慢
  • 一个更有趣的优化可能是重新映射您的结构,这样您就有了一个平面数组,其中每个键都包含整个路径(例如$value[“list1-field-1-id”])

    • 这个问题没有明确的答案。它取决于确切的数据集、访问模式(查询相同值的次数)、缓存类型(文件或内存),甚至可能取决于硬件资源

      根据经验和常识,我可以建议:

      • 使用ORM通常比较慢,即使是缓存的
      • 使用外部内存缓存服务(例如memcached)通常比在PHP内存(例如数组)中使用值慢
      • 一个更有趣的优化可能是重新映射您的结构,这样您就有了一个平面数组,其中每个键都包含整个路径(例如$value[“list1-field-1-id”])

      事实上,symfony没有播种机。但这不是我的问题。我的问题是关于速度。数组中的数据与从db+缓存中获取的数据?事实上,symfony中没有种子。但这不是我的问题。我的问题是关于速度。阵列中的数据与从db+缓存获取的数据?
      public function getSome($col) {
           return $this->list1[$col];
      }