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

1.0.0 2026-02-17 10:51 UTC

This package is auto-updated.

Last update: 2026-02-17 10:56:57 UTC


README

The package provides the PSR-16 cache using the Redis PHP extension.

See also:

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);
    }
}