当前位置: 首页 > 文档资料 > Grav 入门教程 >

性能和缓存(Performance & Caching)

优质
小牛编辑
121浏览
2023-12-01

在本章中,我们将了解Grav中的性能和缓存概念。

表现(Performance)

术语“性能”指的是系统性能,使其能够处理更高的系统负载并修改系统以处理更高的负载。

考虑以下与Grav表现有关的要点 -

  • 要获得更好的opcache性能,可以使用PHP opcacheusercache 。 opcache适用于PHP 5.4,使用PHP 5.5,PHP 5.6和Zend opcache可以更快地运行usercache。

  • SSD (固态硬盘)使用闪存并且没有移动部件。 有时缓存将存储在用户缓存中或存储为文件。 因此SSD驱动器可以提供更好的性能。

  • 虚拟机是在云计算技术下托管提供商的最佳方式。 您可以指定资源而无需与物理设备交互。 Native hosting比虚拟机更快。 Grav在虚拟机上运行得更好,但为了获得最佳性能,您可以使用本机托管选项。

  • Grav具有faster memory ,其缓存使用大量内存,可在服务器上提供更好的性能。 与其他平台相比,它使用更少的内存。

  • Grav使用shared hosting服务器上的共享主机来共享内容。 共享托管以低成本提供,有时可能会导致服务器上的内容变慢。

  • 多核处理器用于更快地处理多个任务。 高级处理器比这些处理器更好,这有助于用户完成任务。

缓存 (Caching)

通常,高速缓存是高速缓存存储器中的存储数据。 缓存机制使Grav更快,浏览器可以从缓存而不是原始服务器获取文件,从而节省时间和额外的网络流量。

Grav使用Doctrine Cache库,它支持以下内容 -

  • 自动(默认) - 它自动使用默认选项。

  • 文件 - 它指定cache/文件夹中存在的cache/文件。

  • APC

  • XCache

  • Memcache

  • Redis

  • WinCache

默认情况下,Grav使用自动设置。 它将尝试APC,然后是WinCache,XCache,最后它使用File。

缓存类型

有5种类型的缓存 -

  • YAML配置缓存到PHP中。

  • 页面对象的核心Grav缓存。

  • Twig将模板文件缓存为PHP类。

  • 媒体资源的图像缓存。

  • 使用流水线技术对CSS和jQuery进行资产缓存。

存储在/cache文件夹中的YAML配置的/cache 。 图像缓存将其图像存储在/images文件夹中。 核心Grav缓存的配置选项存储在user/config/system.yml文件中,如下所示 -

cache:
   enabled: true
   check:
      method: file
   driver: auto
   prefix: 'g'
  • enabled选项通过将其设置为true来enabled缓存。

  • method选项检查页面中的更新,例如文件或文件夹。

  • driver选项指定不同类型的缓存选项,如Auto,File,APC,XCache,Memcache,Redis或WinCache。

  • prefix选项定义缓存前缀字符串。

Memcache选项

如果您使用的是memcached server ,则需要使用user/config/system.yml filememcache驱动程序添加一些额外的配置选项。 可以在cache: group下定义这些选项。

cache:
...
...
   memcache:
      server:localhost
      port: 8080

Redis选项

如果您使用的是redis ,则需要在user/config/system.yml file使用redis驱动程序添加一些额外的配置选项。 可以在cache: group下定义这些选项。

cache:
...
...
   redis:
   	server:localhost
      port: 8080

Twig模板使用自己的缓存机制,在user/config/system.yml文件中使用user/config/system.yml驱动程序。

twig:
   cache: true
   debug: true
   auto_reload: true
   autoescape: false

它有一些选项,如 -

  • cache选项通过将twig缓存设置为true来启用它。

  • debug选项启用twig调试。

  • auto_reload选项用于通过将更改设置为true来重新加载更改。

  • autoescape选项用于自动转义树枝变量。

缓存和事件

启用缓存时可以使用事件。 除OnPageContentRawOnPageProcessedOnPageContentProcessedOnTwigPageVariablesOnFolderProcessed事件外,可以为所有事件启用此功能。 这些事件可以在所有页面和文件夹上使用,并且只能在事件处理时运行。 页面缓存后无法运行这些事件。