ホームページ > バックエンド開発 > PHPチュートリアル > Asf PHP 開発構成情報はシステム メモリに常駐します

Asf PHP 開発構成情報はシステム メモリに常駐します

不言
リリース: 2023-04-02 20:46:02
オリジナル
1501 人が閲覧しました

この記事では、主にシステム メモリに常駐する Asf PHP 開発の構成情報を紹介します。これには一定の参考値があります。今、共有します。必要な友人はそれを参照できます。

比較従来の MVC と Asf

従来の MVC フレームワーク

構成ファイルはリクエストごとに再ロードされます。設定ファイルの内容が更新されていない場合でも再読み込みされます。これは非常に悪い設計です。 (Opcache がオンになっている場合、まだ実行時間があります)

Asf フレームワーク

読み取られた設定ファイルの内容はシステム メモリに保存され、次のリクエストはメモリに直接送信されます。データを読み取るために。 Asf は、非常に単純な構成実装 Config Cache も提供します。

構成キャッシュを有効にするのはどのようなシナリオですか?

  • Web アプリケーションのシナリオでは有効にすることをお勧めします。新しいバージョンでは、デフォルトで有効になる可能性があります

  • CLI およびマルチスレッド モードで有効にした場合にも有効ですが、PHP スクリプトは実行されるたびに解放されます。

  • サポートされるデータ型は次のとおりです。 : 文字列、配列、整数、ブール値、倍精度浮動小数点、null

フローチャート

Asf PHP 開発構成情報はシステム メモリに常駐します

キャッシュ メソッドを有効にする

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

フレームエントリでphp/ini設定ファイルをロードする方法

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

/* 缓存 config.ini 文件 */
$app = new Asf\Application(APP_PATH . &#39;/config/config.ini&#39;);
$app->run();
ログイン後にコピー

Asf\Config\Php php設定ファイルをロード

<?php $conf_php =  new Asf\Config\Php(CONFIG_PATH . &#39;/config.db.php&#39;);
ログイン後にコピー

Asf\Config\Ini ini設定ファイルをロード

<?php $conf_ini =  new Asf\Config\Ini(CONFIG_PATH . &#39;/config.redis.ini&#39;);
ログイン後にコピー

構成コンテンツの読み取りメソッド

<?php print_r(Asf\Application::getInstance()->getConfig()->toArray());
print_r(Asf\Config::get()->toArray());
ログイン後にコピー

パフォーマンス テスト

Opcacheを有効にして、単純に構成キャッシュのパフォーマンス テストを実行しました。 ab -c100 -n10000

次の違いがあります。構成ファイル内の構成項目の複雑さとパフォーマンス指標。直接お問い合わせください

キャッシュを有効にする 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)
ログイン後にコピー

キャッシュなし

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)
ログイン後にコピー

ヒント

キャッシュ構成は共有メモリに基づいていません。PHP プロセスの場合、共有メモリ ロックに問題はありません。

上記がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

Nginx ロード スケジューラ デュアル Tomcat ロードおよびセッション共有 MySQL バックエンド データベース

ThinkPHP5.0 Linux Apache/ Nginx 書き換え URL 構成

以上がAsf PHP 開発構成情報はシステム メモリに常駐しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート