PHP数据缓存功能

时间:2019-04-16 10:08:47

标签: php caching

A想在PHP中缓存数据集。我想知道是否在PHP中已经有缓存功能,没有任何扩展/模块了?我无权以管理员身份访问服务器:-(

简单的事情:

 saveString('Foo,Bar','Keyname',60);
 getString('Keyname')

2 个答案:

答案 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));


}