이 글에서는 PHP: APCu 확장과 함께 제공되는 캐싱 시스템을 자세히 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
모든 분들이 일상적인 캐싱을 위해, 또는 트래픽을 방지하기 위해, 또는 일반적으로 사용되는 일부 핫 데이터를 저장하기 위해 memcached 또는 redis와 같은 캐싱 시스템을 사용해 보셨을 거라 생각합니다. 실제로 소규모 프로젝트에서는 PHP를 사용하기도 했습니다. 일상적인 일반 규모 사이트의 개발을 완벽하게 처리할 수 있는 간단한 캐싱 시스템을 준비했습니다. 이 확장 세트는 APCu 확장입니다.
APCu 확장
APCu 확장은 더 이상 유지 관리되지 않는 APC 확장의 업그레이드입니다. 두 확장 세트 모두 실제로 opcode 캐싱을 기반으로 합니다. 즉, PHP 자체 opcode로 구현된 캐싱 기능입니다.
APCu의 설치는 일반적인 PHP 확장과 동일합니다. 가장 중요한 것은 이 확장이 매우 작다는 것입니다. 다운로드와 설치 모두 몇 초 안에 완료될 수 있습니다. 따라서 소규모 프로젝트에 매우 편리하게 적용할 수 있으며, PHP에서 기본적으로 지원되므로 포트 등의 추가 구성이 필요하지 않습니다.
방법 설명
캐시 시스템이 일반적으로 가지고 있는 추가, 삭제, 쿼리, 자동 증가 및 기타 기능은 APCu 확장에 해당 구현이 있습니다.
apcu_add — 새 캐시 생성
apcu_cache_info — APCu의 모든 캐시 정보 보기
apcu_cas — 캐시된 값을 새 값으로 업데이트
-
apcu_clear_cache — 모든 캐시 지우기
-
apcu_dec - 캐시 값 감소
APCU_DELETE - 캐시 된 컨텐츠 삭제
APCU_ENABLE- 현재 환경에서 APCU 캐시 활성화 여부에 관계 캐시가 존재합니다
apcu_fetch — 캐시 쿼리
apcu_inc — 캐시 값 자동 증가
apcu_sma_info — 캐시된 공유 메모리 정보 쿼리
-
apcu_store — 캐시 저장
- Usage Demo
apcu_add("int", 1); apcu_add("string", "I'm String"); apcu_add("arr", [1,2,3]); class A{ private $apc = 1; function test(){ echo "s"; } } apcu_add("obj", new A); var_dump(apcu_fetch("int")); var_dump(apcu_fetch("string")); var_dump(apcu_fetch("arr")); var_dump(apcu_fetch("obj"));
일반적인 사용은 비교적 간단합니다. 우리가 추가하는 모든 유형의 데이터는 정상적으로 캐시에 저장될 수 있습니다. 그러나 객체를 직렬화하지 않고 APCu 캐시에 직접 저장하거나 JSON을 문자열로 저장할 수 있다는 점에 유의해야 합니다.
apcu_add(string $key, Mixed $var [, int $ttl = 0]) 방법은 일반적으로 캐시를 추가하는 것입니다. $ttl은 만료 시간을 초 단위로 설정할 수 있습니다. 오랫동안 유효합니다. APCu의 캐시 시간 제한은 한 CLI에서 유효합니다. CLI를 다시 호출하면 마지막 CLI에 설정된 캐시 콘텐츠가 가져오지 않습니다. PHP-FPM에서는 PHP-FPM 또는 FastCGI를 다시 시작한 후 캐시가 무효화됩니다.
다음으로 몇 가지 덜 일반적인 방법을 테스트하는 데 중점을 둘 것입니다. apcu_cas("int", 1, 2);
var_dump(apcu_fetch("int"));
// Warning apcu_cas() expects parameter 2 to be int
apcu_cas("string", "I'm String", "I'm New String");
apcu_cas(string $key, int $old, int $new)는 $old 값을 $new 값으로 수정하는 것입니다. 문자열 수정인 경우에만 오류가 발생합니다. 보고됩니다. 이 기능의 장점은 무엇입니까? 가장 큰 장점은 원자성, 즉 높은 동시성에 영향을 받지 않는다는 것입니다. apcu_store(string $key, mix $var [, int $ttl = 0]) 메소드와 유사하지만 이 메소드는 단순히 캐시의 내용을 수정하는 것뿐입니다. 캐시 키가 존재하지 않으면 새 키를 생성하십시오. 유형에 의해 제한되지 않으며 확실히 원자적이지 않습니다.
apcu_entry("entry", function($key){ return "This is " . $key; }); var_dump(apcu_fetch("entry"));
apcu_entry(string $key , callable $generator [, int $ttl = 0 ]) 이 함수의 기능은 $generator 익명 함수를 실행하고 $key 캐시가 존재하지 않는 경우 $key를 키 값으로 사용하는 것입니다. 이를 전달한 다음 이 캐시의 값으로 콘텐츠를 생성하거나 반환합니다.
var_dump(apcu_cache_info());
마지막으로 현재 시스템의 모든 APCu 캐시 정보를 보려면 apcu_cache_info() 함수를 직접 사용할 수 있습니다.
요약캐시에 데이터가 많은 경우 루프 쿼리 및 캐시 정보 관련 통계를 쉽게 수행할 수 있도록 APCUIterator 반복자를 제공합니다. 간단히 말해서, 이 시스템은 매우 편리한 소규모 캐싱 시스템이며 일상적인 개발에서 몇 가지 작은 기능을 사용해 볼 수 있습니다.
테스트 코드:
https://github.com/zhangyue0503/dev-blog/blob/master/php/202004/source/%E6%88%91%E4%BB%AC%E4%B9%9F%E6%9C%89%E8%87%AA%E5%B8%A6%E7%9A%84%E7%BC%93%E5%AD%98%E7%B3%BB%E7%BB%9F%EF%BC%9APHP%E7%9A%84APCu%E6%89%A9%E5%B1%95.php
추천 학습: php 비디오 튜토리얼
위 내용은 PHP와 함께 제공되는 캐싱 시스템에 대한 자세한 소개: APCu 확장의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
