hobbiot / cacheable-auth-user
为 Laravel 5.3 缓存 Auth::user()。此包为 Laravel 添加了新的驱动程序。
Requires
- php: >=5.6.4
- laravel/framework: 5.3.* | 5.4.*
This package is not auto-updated.
Last update: 2024-09-27 22:26:21 UTC
README
为 Laravel 5.3 或 5.4 缓存 Auth::user()。
安装
Composer
composer require hobbiot/cacheable-auth-user
Laravel
app.php
在您的 config/app.php
中,将 HobbIoT\Auth\CacheableAuthUserServiceProvider::class
添加到 providers
数组的末尾
'providers' => [ ... HobbIoT\Auth\CacheableAuthUserServiceProvider::class, ... ],
auth.php
在您的 config/auth.php
中更改用户提供者的驱动。现在您可以使用 "cacheableEloquent"。
... 'providers' => [ 'users' => [ 'driver' => 'cacheableEloquent', 'model' => App\User::class, ], // e.g. 'admin' => [ 'driver' => 'cacheableEloquent', 'model' => App\Administrator::class, ], ], ... ],
类需要扩展 Authenticatable (Illuminate\Foundation\Auth\User) 并使用 trait Notifiable (Illuminate\Notifications\Notifiable),就像 App\User::class 一样。
补充说明
-
缓存有效期为 60 分钟。
-
缓存键为 ModelClassName_By_Id_id 和 ModelClassName_By_Id_Token_id。
-
使用 Eloquent updated 事件监听器清除缓存,需要使用
model->save()
。当用户在个人资料页面更新其姓名时,将自动触发 updated 事件,(监听事件并) 清除缓存。之后从资源(数据库)重新加载。Laravel 官方文档说明:
注意:当通过 Eloquent 发出大量更新时,更新模型的事件 saved 和 updated 不会为更新模型触发。这是因为当发出大量更新时,模型永远不会被实际检索。