klsoft / yii3-cache-redis
The package provides the PSR-16 cache using the Redis PHP extension
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/klsoft/yii3-cache-redis
Requires
- php: >=8.1
- ext-redis: ^6.0.0
- psr/simple-cache: ^2.0|^3.0
README
The package provides the PSR-16 cache using the Redis PHP extension.
See also:
- YII3-CACHE-SESSION-HANDLER - The package implements the SessionHandlerInterface using the PSR-16 cache for storage
Requirement
- PHP 8.1 or higher.
- Redis PHP extension 6.0.0 or higher.
Installation
composer require klsoft/yii3-cache-redis
How to use
1. Configure the CacheInterface.
Example:
use Yiisoft\Cache\CacheInterface; use Yiisoft\Cache\Cache; use Klsoft\Yii3CacheRedis\RedisCache; return [ // ... CacheInterface::class => [ 'class' => Cache::class, '__construct()' => [ 'handler' => new RedisCache( new Redis([ 'host' => $params['redisHost'], 'port' => $params['redisPort'], 'database' => $params['redisDatabase'] ]) ) ], ] ];
2. Cache the data.
Example:
namespace MyNamespace; use Yiisoft\Cache\CacheInterface; final class ProductRepository implements ProductRepositoryInterface { private const TOP_PRODUCTS = 'top_poroducts'; public function __construct( private CacheInterface $cache, private int $cacheDuration) { } public function getTopProducts(int $numberOfTopProducts): array { return $this->cache->getOrSet( ProductRepository::TOP_PRODUCTS, function () use ($numberOfTopProducts) { return $this->getTopProductsFromDb($numberOfTopProducts); }, $this->cacheDuration); } }