Redis-based Cache with Tags implementation.

dev-master 2020-10-30 11:55 UTC

This package is auto-updated.

Last update: 2024-06-29 05:04:51 UTC


Scrutinizer Code Quality Code Coverage Build Status License


This is component for Limoncello Framework that adds storing extra information (tags) in Redis cache.

Each method works in transactional way. The methods implement

  • Adding value to cache with associated string tags and TTL (time-to-live).
  • Removing cached value by key and associated tags.
  • Invalidation (deletion) all cached values by tag.

It is designed to be easily combined with classes that work with Redis cache. All methods could be renamed using PHP Trait Conflict Resolution and visibility changed with PHP Trait Changing Method Visibility.

Integration example

use Limoncello\RedisTaggedCache\RedisTaggedCacheTrait;
use Redis;

/** @var Redis $redis */
$redis = ...;

$cache = new class ($redis)
    use RedisTaggedCacheTrait;

    public function __construct(Redis $redis)

$cache->addTaggedValue('key1', 'value1', ['author:1', 'comment:2']);
$cache->addTaggedValue('key2', 'value2', ['author:1', 'comment:2']);
$cache->addTaggedValue('key3', 'value3', ['author:1', 'comment:2']);

// removes the first key-pair

// removes 2 remaining values

More info.


$ composer test