ngockush/laravel-caching-model

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

1.1.0 2022-08-15 13:08 UTC

This package is auto-updated.

Last update: 2024-09-29 06:20:09 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);
}