> 백엔드 개발 > PHP 튜토리얼 > Asf PHP 개발 구성 정보는 시스템 메모리에 상주합니다.

Asf PHP 개발 구성 정보는 시스템 메모리에 상주합니다.

不言
풀어 주다: 2023-04-02 20:46:02
원래의
1489명이 탐색했습니다.

이 글은 주로 시스템 메모리에 상주하는 Asf PHP 개발의 구성 정보를 소개합니다. 이제는 필요한 친구들이 이를 참조할 수 있습니다.

기존 MVC와 Asf

Traditional의 비교. MVC 프레임워크

구성 파일은 요청마다 다시 로드됩니다. 구성 파일 내용이 업데이트되지 않은 경우에도 다시 로드됩니다. 이것은 매우 나쁜 디자인입니다. (Opcache가 켜져 있어도 실행 시간이 남아 있음)

Asf 프레임워크

는 구성 파일의 내용을 읽고 시스템 메모리에 저장합니다. 다음 요청은 데이터를 읽기 위해 메모리로 직접 이동합니다. Asf는 또한 매우 간단한 구성 구현 Config Cache를 제공합니다.

어떤 시나리오에서 구성 캐시를 활성화하는 것이 적합합니까?

  • 웹 애플리케이션 시나리오에서는 활성화하는 것이 좋습니다.

  • CLI 및 다중 스레드 모드에서 활성화하면 됩니다. 실행 후 릴리스됩니다

  • 지원되는 데이터 유형은 문자열, 배열, 정수, 부울, 더블, 부동 소수점, 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();
로그인 후 복사

AsfConfigPhp PHP 구성 파일 로드

<?php $conf_php =  new Asf\Config\Php(CONFIG_PATH . &#39;/config.db.php&#39;);
로그인 후 복사

AsfConfigIni 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

구성 파일의 구성 항목의 복잡성과 성능 표시기 사이에는 직접적인 관계가 있습니다

Enable 캐시 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)
로그인 후 복사

Tips

Cache Config는 공유 메모리 기반이 아닌 PHP 프로세스 기반이므로 공유 메모리 잠금 문제가 발생하지 않습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

Nginx 로드 스케줄러 + 이중 Tomcat 로드 및 세션 공유 + MySQL 백엔드 데이터베이스

ThinkPHP5.0 Linux Apache/Nginx 다시 쓰기 URL 구성

위 내용은 Asf PHP 개발 구성 정보는 시스템 메모리에 상주합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿