>백엔드 개발 >PHP 튜토리얼 >PHP에서 간단한 캐시 클래스 공유

PHP에서 간단한 캐시 클래스 공유

*文
*文원래의
2018-01-05 11:40:301489검색

이 기사에서는 매우 간단한 PHP 캐시 코드를 공유합니다. 캐시 적용은 PHP 프로젝트 개발에 특히 중요합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다. 그것이 모두에게 도움이 되기를 바랍니다.

PHP 캐시 클래스에 대한 정보는 인터넷에 많이 있지만 이 클래스는 필요에 맞는 기능을 가지고 있으면서도 매우 간단한 클래스여야 합니다. 더 이상 고민하지 말고 코드를 살펴보겠습니다!
사용 지침:
1. 인스턴스화
$cache = new Cache();
2. 캐시 시간 및 캐시 디렉터리 설정
$cache(60, '/any_other_path/')
첫 번째 매개변수는 캐시 초이고, 두 번째 매개변수는 캐시 경로입니다. 필요에 따라 구성하세요.
기본적으로 캐시 시간은 3600초이고 캐시 디렉터리는 캐시/
3. 캐시 읽기
$value = $cache->get('data_key')
4.
$value = $cache->put('data_key', 'data_value');
전체 예:

$cache = new Cache(); 
 
//从缓存从读取键值 $key 的数据 
$values = $cache->get($key); 
 
//如果没有缓存数据 
if ($values == false) { 
//insert code here... 
//写入键值 $key 的数据 
$cache->put($key, $values); 
} else { 
//insert code here... 
}

Cache.class.php

<?php 
class Cache { 
private $cache_path;//path for the cache 
private $cache_expire;//seconds that the cache expires 
 
//cache constructor, optional expiring time and cache path 
public function Cache($exp_time=3600,$path="cache/"){ 
$this->cache_expire=$exp_time; 
$this->cache_path=$path; 
} 
 
//returns the filename for the cache 
private function fileName($key){ 
return $this->cache_path.md5($key); 
} 
 
//creates new cache files with the given data, $key== name of the cache, data the info/values to store 
public function put($key, $data){ 
$values = serialize($data); 
$filename = $this->fileName($key); 
$file = fopen($filename, &#39;w&#39;); 
if ($file){//able to create the file 
fwrite($file, $values); 
fclose($file); 
} 
else return false; 
} 
 
//returns cache for the given key 
public function get($key){ 
$filename = $this->fileName($key); 
if (!file_exists($filename) || !is_readable($filename)){//can&#39;t read the cache 
return false; 
} 
if ( time() < (filemtime($filename) + $this->cache_expire) ) {//cache for the key not expired 
$file = fopen($filename, "r");// read data file 
if ($file){//able to open the file 
$data = fread($file, filesize($filename)); 
fclose($file); 
return unserialize($data);//return the values 
} 
else return false; 
} 
else return false;//was expired you need to create new 
} 
} 
?>

관련 권장 사항:

PHP가 테이블 구조를 일괄 수정하는 방법에 대한 자세한 설명

redis 대기열을 사용하여 전자상거래 주문 수신 자동 확인을 구현하는 PHP에 대한 자세한 설명

PHP 추가, 삭제, 수정에 대한 자세한 설명 그리고 XML 파일을 확인하는 중

위 내용은 PHP에서 간단한 캐시 클래스 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.