tannhatcms/laravel-caching-model

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

1.0.2 2023-02-20 18:20 UTC

This package is auto-updated.

Last update: 2024-09-20 21:42:34 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);
}