定制 mathieu-bour/laravel-cache-fallback 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mathieu-bour/laravel-cache-fallback

最新稳定版本:1.0.0

Composer 安装命令:

composer require mathieu-bour/laravel-cache-fallback

包简介

Allow Laravel cache connections to fallback to more stable drivers.

README 文档

README

GitHub license Packagist Version Packagist GitHub issues GitHub pull requests Codecov Scrutinizer code quality

Allow Laravel cache connections to fallback to more stable drivers.

This package is especially useful when you want your application to be fault-tolerant. For example, when using a Redis instance as cache store, you may want to be able to fallback to file store if the Redis instance is unavailable.

This package follows the Semantic Versioning specification.

Acknowledgements

This package was inspired by fingo/laravel-cache-fallback, even if it is not maintained anymore.

Prerequisites

  • PHP >= 7.1.3
  • Laravel/Lumen 5.8, 6.x, 7.x or 8.x

Supported cache methods

This package support most of the cache methods (e.g. get, put, etc.). The tagged cache is not supported at the moment.

Compatibility Matrix

This package was tested against the following matrix:

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 ✔️ ✔️ ✔️

Installation

Simply add mathieu-bour/laravel-cache-fallback to your package dependencies.

composer require mathieu-bour/laravel-cache-fallback

This package does not publish any resource and its configuration directly handled in the config/cache.php file.

Laravel

This package uses Laravel Package Discovery, so you do need to do anything more. If you have disabled this feature, you can register the service provider in the config/app.php.

Lumen

Register the service provider in the bootstrap/app.php file like so:

$app->register(Windy\CacheFallback\CacheFallbackServiceProvider::class);

Usage

Each cache store can now have a fallback key in its configuration. If during execution, the cache driver throws an exception, the fallback driver will be used instead.

<?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',
        ],
    ],
];

In this example, the redis store fallbacks to file.

If there is no fallback defined, the original exception will be raised as usual. Note that this package does not provide any way to cycle through stores: if A fallbacks to B and B fallbacks to A, B will throw the exception immediately.

统计信息

  • 总下载量: 41k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 14
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 14
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-05-09