mathieu-bour / laravel-cache-fallback
此包已废弃,不再维护。未建议替代包。
允许Laravel缓存连接回退到更稳定的驱动程序。
1.0.0
2020-12-29 11:30 UTC
Requires
- php: ^7.1.3 || ^8.0
- illuminate/cache: 5.8.* || ^6.0 || ^7.0 || ^8.0
- illuminate/config: 5.8.* || ^6.0 || ^7.0 || ^8.0
- illuminate/support: 5.8.* || ^6.0 || ^7.0 || ^8.0
Requires (Dev)
- illuminate/redis: 5.8.* || ^6.0 || ^7.0 || ^8.0
- laravel/framework: 5.8.* || ^6.0 || ^7.0 || ^8.0
- laravel/lumen-framework: 5.8.* || ^6.0 || ^7.0 || ^8.0
- mathieu-bour/coding-standard: ^1.0
- mathieu-bour/hydra: ^0.1
- mockery/mockery: ^1.3
- phpunit/phpunit: ^7.0 || ^8.0 || ^9.0
- predis/predis: ^1.1
- symfony/var-dumper: ^4.0 || ^5.2
This package is auto-updated.
Last update: 2022-07-29 02:19:10 UTC
README
允许Laravel缓存连接回退到更稳定的驱动程序。
此包特别适用于您想要应用程序具有 容错性 的情况。例如,当使用Redis实例作为缓存存储时,您可能希望在Redis实例不可用时回退到文件存储。
此包遵循 语义版本规范。
致谢
此包受到 fingo/laravel-cache-fallback 的启发,即使它不再维护。
先决条件
- PHP >= 7.1.3
- Laravel/Lumen 5.8, 6.x, 7.x 或 8.x
支持的缓存方法
此包支持大多数缓存方法(例如,获取、设置等)。目前不支持标签缓存。
兼容性矩阵
此包针对以下矩阵进行了测试
Laravel/Lumen | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 |
---|---|---|---|---|---|
5.8 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
6.0 | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
7.0 | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
8.0 | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
安装
只需将 mathieu-bour/laravel-cache-fallback
添加到您的包依赖中。
composer require mathieu-bour/laravel-cache-fallback
此包不发布任何资源,其配置直接在 config/cache.php
文件中处理。
Laravel
此包使用 Laravel 包发现,因此您不需要做任何事情。如果您已禁用此功能,可以在 config/app.php
中注册服务提供程序。
Lumen
将服务提供程序注册到 bootstrap/app.php
文件中,如下所示
$app->register(Windy\CacheFallback\CacheFallbackServiceProvider::class);
用法
现在,每个缓存存储都可以在其配置中有一个 fallback
键。如果在执行期间,缓存驱动程序抛出异常,则将使用回退驱动程序。
<?php return [ 'default' => env('CACHE_DRIVER', 'file'), 'stores' => [ 'file' => [ 'driver' => 'file', 'path' => storage_path('framework/cache/data'), ], 'redis' => [ 'driver' => 'redis', 'connection' => env('CACHE_REDIS_CONNECTION', 'cache'), 'fallback' => 'file', ], ], ];
在此示例中,redis
存储回退到 file
。
如果没有定义 fallback
,则将像往常一样引发原始异常。请注意,此包不提供任何循环通过存储的方法:如果A回退到B,而B回退到A,则B将立即抛出异常。