swaty/laravel-fallback-cache

Allow Laravel cache connections to fallback to more stable drivers.
2,383 1
Install
composer require swaty/laravel-fallback-cache
Latest Version:1.0.4
PHP:^7.1.3 || ^8.0
License:MIT
Last Updated:Oct 16, 2025
Links: GitHub  ·  Packagist
Maintainer: swaty007

Laravel Cache Fallback

GitHub license Packagist Version Packagist GitHub issues GitHub pull requests

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.

Prerequisites

  • PHP >= 7.1.3
  • Laravel/Lumen 9.x, 10.x, 11.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.

Installation

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

composer require swaty/laravel-fallback-cache

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(Swaty\CacheFallback\CacheServiceProvider::class);

Usage

The fallback key at the top level (next to default) specifies a fallback driver that will be used for all stores unless a store explicitly defines its own fallback.

<?php

return [
    'default' => env('CACHE_DRIVER', 'file'),
    'fallback'   => 'array',
    'stores'  => [
        'file'  => [
            'driver'   => 'file',
            'path'     => storage_path('framework/cache/data'),
        ],
        'redis' => [
            'driver'     => 'redis',
            'connection' => env('CACHE_REDIS_CONNECTION', 'cache'),
        ],
    ],
];

In the example above, if the redis store throws an exception, it will fallback to the array driver (as specified in its configuration). For all other stores (e.g., file), if an exception occurs, they will fallback to the global array driver.

Related Packages

elcobvg/laravel-opcache

Custom OPcache Cache Driver for Laravel. Faster than Redis or memcached.

392,249 43
falseclock/dbd-php

Database driver for PHP (PostgreSQL, MySQL, MSSQL, OData, YellowERP, 1С)

8,319 11
vansteen/laravel-mongodb-cache

A MongoDB cache driver for Laravel 4 using the Laravel MongoDB package jensseger...

2,825 4
demian/laravel-cache-rethinkdb

RethinkDB Cache Driver for Laravel 5

22 1
barryvdh/laravel-httpcache

HttpCache for Laravel

411,463 502

Version History

Version Released PHP Laravel License
1.0.4 ^7.1.3 || ^8.0 5.8.* || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 MIT
1.0.2 ^7.1.3 || ^8.0 5.8.* || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 MIT
1.0.1 ^7.1.3 || ^8.0 5.8.* || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 MIT
1.0.0 ^7.1.3 || ^8.0 5.8.* || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 MIT