PHP 위 챗 개발 용 Cache 데이터 캐 시 해결
이 Cache 클래스 는 위 챗 기본 인터페이스 의 access 와 같은 실효 성 있 는 데 이 터 를 캐 시 하 는 데 사 용 됩 니 다.token,웹 페이지 Auth 가 검증 한 accesstoken 등
아래 코드 는 로 컬 파일 을 사용 하여 데이터 캐 시 를 합 니 다.
//
$cache = new Cache();
$cache->dir = "../cc/";
//$cache->setCache("zhang", "zhangsan", 100);
echo $cache->getCache("zhang");
//$cache->removeCache("zhang");
$cache->setCache("liu", "liuqi", 100);
echo $cache->getCache("liu");
class Cache{
public $cacheFile = "cache.json"; //
public $dir = "./cach2/"; //
//
public function setCache($name, $val, $expires_time){
$file = $this->hasFile();
//
$str = file_get_contents($file);
$arr = json_decode($str, true);
// ,
if(empty($val)){
unset($arr[$name]);
}else{
$arr[$name] = array("value"=>$val, "expires_time"=>$expires_time, "add_time"=>time());
}
//
$str = json_encode($arr);
file_put_contents($file, $str);
}
public function getCache($name){
$file = $this->hasFile();
//
$allArr = json_decode($str, true);
$arr = $allArr[$name];
if(!$arr || time() > ($arr["expires_time"] + $arr["add_time"])){
$this->removeCache($name); //
return false;
}
return $arr["value"];
}
public function removeCache($name){
$this->setCache($name, '', 0);
}
private function hasFile(){
// ,
if(!file_exists($this->dir)){
mkdir($this->dir);
}
if(!file_exists($this->dir . $this->cacheFile)){
touch($this->dir . $this->cacheFile);
}
return $this->dir . $this->cacheFile;
}
}
위의 Cache 류 는 모두 set,get,remove 세 가지 조작 이 있 습 니 다.또한 캐 시 파일 의 저장 경 로 를 사용자 정의 할 수 있 습 니 다.Cache 의 dir 속성 만 설정 하면 됩 니 다.이상 은 PHP 위 챗 개발 시 데이터 캐 시 방법 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.