假设我使用remember函数将数据存储在缓存中。
当用户在网站上时,我希望他能够知道他看到的数据有多久。因此,如果他不喜欢旧数据,他可以选择获取新数据。
有一件事 - 我可以尝试检查缓存的文件日期,但我不确定如何制作文件夹结构和文件名。可以尝试通过检查缓存如何工作来理解,但也许有一些事情吗?我没找到。
答案 0 :(得分:0)
/**
* Get the full path for the given cache key.
*
* @param string $key
* @return string
*/
protected function path($key)
{
$parts = array_slice(str_split($hash = md5($key), 2), 0, 2);
//return $this->directory.'/'.join('/', $parts).'/'.$hash;
return Config::get('cache.path') .'/'.join('/', $parts).'/'.$hash;
}
public function getTest() {
$users = DB::table('shops')->remember(1, 'key')->get();
echo 'Now: ' . date('H:i:s') . '<br>';
echo 'Cache saved at: ' . date('H:i:s', filemtime($this->path('key'))) . '<br>';
}
从FileStore.php文件复制和编辑path()函数。我更好的方法是扩展这个,但我不知道如何。如果有人告诉我们会好的。
答案 1 :(得分:0)
对于 Laravel 5:
$parts = array_slice(str_split($hash = sha1($cacheKey), 2), 0, 2);
$path = storage_path('framework/cache/data').'/'.implode('/', $parts).'/'.$hash;