Skip to content

Cache Component - TagAwareAdapter failing to retrieve keys using RedisAdapter backed by Predis using a redis cluster #21858

@chasen

Description

@chasen
Q A
Bug report? yes
Feature request? no
BC Break report? no
RFC? no
Symfony version 3.2.4

Other possible relevant info

Type Version
Predis version 1.1.1
Redis version 3.2.8
OS Debian GNU/Linux 8.7 (jessie)

I have a redis cluster setup with 3 servers, If i just use the RedisAdapter passing in the Predis client getting and setting keys works as expected, However if i wrap the RedisAdapter in the TagAwareAdapter I am no longer able to retrieve the keys.

$client = new \Predis\Client([
   'redis://server1.com',
   'redis://server2.com',
   'redis://server3.com',
],[
    'cluster' => 'redis'
]);
$cache = new RedisAdapter(
    $client,
    'my_prefix',
    60 // 60 second default ttl
);
$tagCache = new TagAwareAdapter($cache);

// Test RedisAdapter
$testItem = $cache->getItem('test_item');
$testItem->set('test_value');
$testSave = $cache->save($testItem);
var_dump($testSaved); //true

$retrieveItem = $cache->getItem('test_item');
var_dump($retrieveItem->isHit()); //true
var_dump($retrieveItem->get()); //test_value 

//Test TagAware

$tagItem = $tagCache->getItem('test_tag_item');
$tagItem->set('test_tag_value');
$tagItem->tag('tagged_test')
$tagTestSaved = $tagCache->save($tagItem);
var_dump($tagTestSaved); //true

$retrieveTagItem = $tagCache->getItem('test_tag_item');
var_dump($retrieveTagItem ->isHit()); //false
var_dump($retrieveTagItem ->get()); //null 

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions