hacoidev/laravel-caching-model

为 Laravel Eloquent 模型提供的简单缓存库

1.1.0 2022-08-15 13:08 UTC

This package is auto-updated.

Last update: 2024-09-15 18:11:42 UTC


README

  • 用于缓存 Laravel Eloquent 模型的简单包
  • 支持通过 ID(或其他主键)从缓存存储中检索模型

用法

  1. 实现 Cacheable 接口然后使用 HasCache 特性
use Hacoidev\CachingModel\Contracts\Cacheable;
use Hacoidev\CachingModel\HasCache;

class Setting extends Model implements Cacheable
{
    use HasCache;

    ...
}
  1. 使用 fromCache() 静态方法从缓存存储中检索模型数据
$cachedInstance = Setting::fromCache()->find($key);

可用方法

  1. public static function primaryCacheKey(): string;
  • 返回用于创建缓存键的主键
  • 默认:id
  1. public static function getCacheKey($id): string;
  • 返回具有主键为 $id 的特定实例的缓存键
  1. public static function cacheTimeout(): int;
  • 返回缓存超时时间
  1. public function scopeCacheWithRelation($query);
  • 特定关系将与模型一起缓存
public function scopeCacheWithRelation($query)
{
    return $query->with('relationship:id);
}