Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan kod caching dalam php

Bagaimana untuk melaksanakan kod caching dalam php

王林
Lepaskan: 2023-03-13 13:04:01
asal
1923 orang telah melayarinya

Cara melaksanakan kod caching dalam PHP: [$cache = new Cache(); $values ​​​​= $cache->get($key ($values ​​​​== false) { $cache-> ;put($key, $values)...].

Bagaimana untuk melaksanakan kod caching dalam php

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP 7, komputer thinkpad t480.

Arahan penggunaan:

1 Instantiation

$cache = new Cache();
Salin selepas log masuk

2. Tetapkan masa cache dan direktori cache

$cache = new Cache(60, '/any_other_path/');
Salin selepas log masuk

Pertama. parameter pertama ialah saat cache, dan parameter kedua ialah laluan cache, yang boleh dikonfigurasikan mengikut keperluan.
Secara lalai, masa cache ialah 3600 saat, dan direktori cache ialah cache/

3 Baca cache

$value = $cache->get('data_key');
Salin selepas log masuk

4 🎜>

Contoh lengkap:
$value = $cache->put('data_key', 'data_value');
Salin selepas log masuk


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

Pembelajaran yang disyorkan:
<?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
}
}
?>
Salin selepas log masuk
latihan php

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kod caching dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan