hms5232 / laravel-twin-cache
This package is abandoned and no longer maintained.
No replacement package was suggested.
Use second cache flexibly in Laravel.
v0.1.2
2022-08-28 07:52 UTC
Requires
- php: ^7.3 || ^8.0
- illuminate/contracts: ^8.0
- illuminate/support: ^8.0
Requires (Dev)
- nunomaduro/collision: ^5.10
- orchestra/testbench: ^6.0
- squizlabs/php_codesniffer: *
This package is auto-updated.
Last update: 2024-10-02 05:12:43 UTC
README
Use second cache flexibly in Laravel.
Installation
composer require hms5232/laravel-twin-cache
Usage
config
Add twin
store in config/cache.php
:
'stores' => [ // other store config here 'twin' => [ 'driver' => 'twin', 'older' => env('TWIN_CACHE_OLDER', 'redis'), // First/preferred cache 'younger' => env('TWIN_CACHE_YOUNGER', 'database'), // Second/backup cache 'sync_ttl' => env('TWIN_CACHE_TTL'), // TTL for younger synced to older. Default is null => forever ], ],
Change cache drive in .env
:
CACHE_DRIVER=twin
method
All Laravel built-in methods modify the older
cache, and you can add suffix Twin
to method name for twin cache.
For example, you want to update both older and younger cache:
Cache::put('foo', 'bar'); // change "put" to "putTwin" Cache::putTwin('foo', 'bar');
Another example, a key is in younger cache drive but doesn't exist in older. You want to sync this key when select this key:
// only select older cache Cache::get('foo'); // This will select older cache first // If no result, select younger, else return result // 1. If exists in younger, insert into older cache and return // 2. If it doesn't exist, return default value Cache::getTwin('foo', 'bar');
So you can use second cache flexibly depend on need.
Method List
All parameters are same.
LICENSE
Copyright (c) 2022 hms5232
See LICENSE.