【发布时间】:2023-04-09 15:09:01
【问题描述】:
我正在用这段代码缓存我的分页
Album::remember(3)->paginate(20);
但我不知道如何在过期时间之前从分页中删除缓存。有人可以帮忙吗。
【问题讨论】:
标签: php caching pagination laravel-4
我正在用这段代码缓存我的分页
Album::remember(3)->paginate(20);
但我不知道如何在过期时间之前从分页中删除缓存。有人可以帮忙吗。
【问题讨论】:
标签: php caching pagination laravel-4
您通常不能“忘记”数据库缓存,因为您需要知道用作键的哈希值。
您可以使用 getCacheKey() 方法检索它(定义如下):
/**
* Get a unique cache key for the complete query.
*
* @return string
*/
public function getCacheKey()
{
return $this->cacheKey ?: $this->generateCacheKey();
}
有点像
$results = Album::remember(3)->paginate(20);
$key = Album::getCacheKey();
Cache::forget($key);
可行,但我承认我从未使用过此过程,我倾向于为 remember() 方法分配一个自定义键并用它来忘记它:
Album::remember(3, 'pagination')->paginate(20);
Cache::forget('pagination');
【讨论】:
tags 进行缓存并刷新它们