A想在PHP中缓存数据集。我想知道是否在PHP中已经有缓存功能,没有任何扩展/模块了?我无权以管理员身份访问服务器:-(
简单的事情:
saveString('Foo,Bar','Keyname',60);
getString('Keyname')
答案 0 :(得分:0)
示例(简体)。
// write to cache file
$data = [
'foo' => 'bar',
];
file_put_contents('cache.json', json_encode($data));
// read from cache file
$data = json_decode(file_get_contents('cache.json'), true);
注意:确保高速缓存文件存在并且php脚本具有写访问权限。
答案 1 :(得分:0)
好的,我找到了字符串缓存功能的解决方案
define('cachepath','cache/');
$q=('StringKeyExists');
if(isString($q,30)){
getString($q);
}else{
$c=('Content to save');
saveString($q,$c);
}
function isString($key,$time=60){
$exp = 60 * $time; // 3600s = 1 hour
$key=uniq($key);
$file=@cachepath.$key;
if(file_exists($file) &&( filectime($file) > time() - $exp)){
return 1;
} else{
return false;
}
}
function getString($key){
$key=uniq($key);
$file=@cachepath.$key;
return json_decode(file_get_contents($file),1);
}
function uniq($str='',$nr=6){
return substr(md5($str),0,$nr);
}
function saveString($key,$str=''){
$key=uniq($key);
$file=@cachepath.$key;
return file_put_contents($file, json_encode($str));
}