오늘날의 인터넷 시대에 웹 사이트의 응답 속도는 사용자 경험에 중요합니다. PHP는 인기있는 개발 언어로서 데이터 캐싱 기술을 사용하여 웹 사이트의 성능을 크게 향상시킬 수 있습니다. 이 기사는 특정 기술 수단을 사용하여 데이터 캐싱을 통해 웹 사이트 응답 속도를 최적화하는 방법, 특히 Memcached 및 Redis 캐시 솔루션 사용 방법을 탐색합니다.
데이터 캐시는 자주 액세스하는 데이터를 메모리에 저장하여 요청할 때마다 데이터베이스에 대한 액세스를 줄이는 것입니다. 일반적인 캐시 유형에는 페이지 캐시, 데이터 캐시 및 쿼리 캐시가 포함됩니다. 페이지 캐시는 전체 웹 페이지 컨텐츠를 캐시합니다. 데이터 캐시는 쿼리 결과를 저장합니다. 쿼리 캐시 캐시 캐시는 특정 쿼리 문의 결과를 캐시합니다.
먼저 MemCached를 설치해야합니다. 다음 명령을 통해 Linux 시스템에 설치할 수 있습니다.
sudo apt-get 설치 memcached
설치 후 구성 파일`/etc/memcached.conf`를 편집하고 IP 주소, 포트 및 캐시 크기 및 기타 매개 변수를 조정하십시오.
PHP는 Memcached와의 의사 소통을위한 Memcached Extensions를 제공합니다. 다음 코드를 통해 Memcached 서비스에 연결할 수 있습니다.
$ memcached = 새로운 memcached (); $ memcached-> addserver ( '127.0.0.1', 11211);
다음으로`set ()`및`get ()`메소드를 사용하여 캐시 된 데이터에 액세스 할 수 있습니다.
// 캐시에 데이터를 저장하면 유효 기간은 60 초입니다. $ memcached-> set ( 'key', 'value', 60); // 캐시에서 데이터 가져옵니다 $ value = $ memcached-> get ( 'key');
자주 실행되는 SQL 쿼리의 경우 쿼리 결과를 Memcached로 캐시하여 데이터베이스 쿼리 수를 줄일 수 있습니다. 예는 다음과 같습니다.
// 쿼리 데이터 $ sql = "선택 *에서`use` id` =?"; $ stmt = $ pdo-> 준비 ($ sql); $ stmt-> execute ([$ id]); $ user = $ stmt-> fetch (pdo :: fetch_assoc); // ($ memcached-> get ( 'user_'. $ id)) {캐시가 존재하는지 확인하십시오. // 캐시에서 데이터를 가져옵니다 $ user = $ memcached-> get ( 'user_'. $ id); } 또 다른 { // 캐시가 존재하지 않고 데이터베이스를 쿼리하고 캐시 $ memcached-> set ( 'user_'. $ id, $ user, 60)을 저장합니다. }
Memcached와 마찬가지로 Redis는 효율적인 메모리 데이터 저장 도구이기도합니다. 다음 명령으로 Redis를 설치할 수 있습니다.
Sudo apt-get 설치 Redis-Server
설치가 완료되면`/etc/retis/redis.conf` configuration 파일을 편집하고 Redis의 청취 주소, 포트 및 캐시 크기를 설정하십시오.
Memcached와 유사하게 PHP는 Redis 서비스를 연결하고 운영 할 수있는 Redis 확장 기능을 제공합니다. 다음은 Redis에 연결하는 코드입니다.
$ redis = new redis (); $ redis-> connect ( '127.0.0.1', 6379);
마찬가지로`set ()`및`get ()`메소드를 사용하여 캐시를 조작 할 수 있습니다.
// 캐시에서 데이터를 저장하면 유효 기간은 60 초입니다. $ redis-> set ( 'key', 'value', 60); // 캐시에서 데이터를 가져옵니다 $ value = $ redis-> get ( 'key');
Redis는 SQL 쿼리 결과를 캐시하는 데 사용될 수도 있습니다. 다음은 구체적인 예입니다.
// 쿼리 데이터 $ sql = "선택 *에서`use` id` =?"; $ stmt = $ pdo-> 준비 ($ sql); $ stmt-> execute ([$ id]); $ user = $ stmt-> fetch (pdo :: fetch_assoc); // if ($ redis-> get ( 'user_'. $ id)) {캐시를 확인합니다. // cache에서 데이터를 가져옵니다 $ user = json_decode ($ redis-> get ( 'user_'. $ id), true); } 또 다른 { // 캐시가 존재하지 않고, 쿼리 및 캐시 결과를 redis-> set ( 'user_'. $ id, json_encode ($ user), 60); }
데이터 캐싱 기술을 통해 웹 사이트의 응답 속도를 크게 향상시키고 데이터베이스 압력을 줄이고 성능을 향상시킬 수 있습니다. 실제 개발에서는 필요에 따라 Memcached 또는 Redis와 같은 캐시 솔루션을 선택하고 특정 상황에 맞게 최상의 결과를 얻을 수 있습니다.