Heim  >  Artikel  >  Backend-Entwicklung  >  Die Konfigurationsinformationen für die ASF-PHP-Entwicklung befinden sich im Systemspeicher

Die Konfigurationsinformationen für die ASF-PHP-Entwicklung befinden sich im Systemspeicher

不言
不言Original
2018-07-07 16:48:261432Durchsuche

Dieser Artikel stellt hauptsächlich die Konfigurationsinformationen der im Systemspeicher befindlichen Asf-PHP-Entwicklung vor. Sie haben einen gewissen Referenzwert. Jetzt können Freunde in Not darauf verweisen.

Vergleich zwischen traditionellen MVC und ASF

Traditionelles MVC-Framework

Die Konfigurationsdatei wird bei jeder Anfrage neu geladen. Auch wenn der Inhalt der Konfigurationsdatei nicht aktualisiert wurde, wird er neu geladen. Das ist ein sehr schlechtes Design. (Wenn Opcache aktiviert ist, bleibt noch Ausführungszeit)

Asf-Framework

Der Inhalt der gelesenen Konfigurationsdatei wird im Systemspeicher gespeichert und die nächste Anforderung geht direkt in den Speicher um die Daten auszulesen. Asf bietet auch eine sehr einfache Konfigurationsimplementierung, den Config Cache.

In welchem ​​Szenario ist es angebracht, den Konfigurationscache zu aktivieren?

  • Es wird empfohlen, ihn in Webanwendungsszenarien zu aktivieren.

  • Es wird auch wirksam, wenn es im CLI- und Multi-Thread-Modus aktiviert ist, mit der Ausnahme, dass das PHP-Skript bei jeder Ausführung freigegeben wird

  • Unterstützte Datentypen sind: Zeichenfolgen, Arrays, Ganzzahlen, boolesche Werte, Doppelzahlen, Gleitkommazahlen, Null

Flussdiagramm

Die Konfigurationsinformationen für die ASF-PHP-Entwicklung befinden sich im Systemspeicher

Cache-Methode aktivieren

<?php ini_set(&#39;asf.cache_config_enable&#39;, 1); /* 开启配置文件缓存 */
ini_set(&#39;asf.cache_config_expire&#39;, 300); /* 设置缓存多少秒之后过期, 300 seconds by default */

Rahmeneintrag zum Laden der PHP/INI-Konfigurationsdatei

<?php define(&#39;APP_PATH&#39;, dirname(__DIR__));

/* 缓存 config.ini 文件 */
$app = new Asf\Application(APP_PATH . &#39;/config/config.ini&#39;);
$app->run();

AsfConfigPhp PHP-Konfigurationsdatei laden

<?php $conf_php =  new Asf\Config\Php(CONFIG_PATH . &#39;/config.db.php&#39;);

AsfConfigIni INI-Konfigurationsdatei laden

<?php $conf_ini =  new Asf\Config\Ini(CONFIG_PATH . &#39;/config.redis.ini&#39;);

Methode zum Lesen des Konfigurationsinhalts

<?php print_r(Asf\Application::getInstance()->getConfig()->toArray());
print_r(Asf\Config::get()->toArray());

Leistungstest

Bei aktiviertem Opcache haben wir einfach einen Config-Cache-Leistungstest durchgeführt, ab -c100 -n10000

Es besteht ein direkter Zusammenhang zwischen der Komplexität der Konfigurationselemente in der Konfigurationsdatei und den Leistungsindikatoren

Cache aktivieren asf.cache_config_enable = 1

Total transferred:      16109994 bytes
HTML transferred:       14259994 bytes
Requests per second:    6859.01 [#/sec] (mean)
Time per request:       14.579 [ms] (mean)
Time per request:       0.146 [ms] (mean, across all concurrent requests)

Kein Cache

Total transferred:      16080000 bytes
HTML transferred:       14230000 bytes
Requests per second:    6398.22 [#/sec] (mean)
Time per request:       15.629 [ms] (mean)
Time per request:       0.156 [ms] (mean, across all concurrent requests)

Tipps

Cache Config basiert nicht auf Shared Memory basiert auf dem PHP-Prozess und es gibt kein Problem mit der Shared-Memory-Sperre.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Nginx-Ladeplaner + duale Tomcat-Lade- und Sitzungsfreigabe + MySQL-Backend-Datenbank

ThinkPHP5.0 Linux Apache/ Nginx-URL-Konfiguration neu schreiben

Das obige ist der detaillierte Inhalt vonDie Konfigurationsinformationen für die ASF-PHP-Entwicklung befinden sich im Systemspeicher. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn