ホームページ  >  記事  >  バックエンド開発  >  システムメモリに常駐する Asf PHP 開発構成情報

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

藏色散人
藏色散人転載
2019-11-22 10:11:162211ブラウズ

従来の 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 を有効にして、単に Config Cache パフォーマンス テストを実行します (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 プロセスに基づいています。Yo、共有メモリ ロックについては問題ありません。

推奨: 「

PHP チュートリアル

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

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。