bigoen/redis-bundle

Redis Bundle for Symfony Projects

Installs: 1 292

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 2

Forks: 0

Open Issues: 0

Type:symfony-bundle

v1.0.7 2023-04-18 13:00 UTC

This package is auto-updated.

Last update: 2024-05-18 15:50:43 UTC


README

Setup

composer require bigoen/redis-bundle
# config/packages/bigoen_redis.yaml

bigoen_redis:
    clients:
        session:
            dsn: '127.0.0.1/1'
            prefix: 'demo:session:*'
            namespace: 'demo:session'
        monolog:
            dsn: '127.0.0.1/2'
            key: 'demo:monolog'
        doctrine_metadata_cache:
            dsn: '127.0.0.1/3'
            prefix: 'demo:metadata_cache:*'
            namespace: 'demo:metadata_cache'
        doctrine_result_cache:
            dsn: '127.0.0.1/3'
            prefix: 'demo:result_cache:*'
            namespace: 'demo:result_cache'
        doctrine_query_cache:
            dsn: '127.0.0.1/3'
            prefix: 'demo:query_cache:*'
            namespace: 'demo:query_cache'
        doctrine_second_level_cache:
            dsn: '127.0.0.1/4'
            prefix: 'demo:second_level_cache:*'

Commands:

clientName: monolog, session, doctrine_metadata_cache etc.

sc redis:flush {clientName}

Examples:

RedisHelper

use Bigoen\RedisBundle\Utils\RedisHelper;

// create from dsn.
$helper = new RedisHelper('redis://127.0.0.1/1');
// set and add namespaces.
$helper->setNamespace("test");
$helper->addNamespace("sub");
// create redis.
$redis = $helper->getRedis();

RedisClientHelper

use Bigoen\RedisBundle\Utils\RedisClientHelper;

class TestController
{
    public function __invoke(RedisClientHelper $helper)
    {
        // create redis.
        $redis = $helper->setClient("doctrine_query_cache")->createRedis();
        // get namespace or other client parameters.
        $namespace = $helper->getParameter('namespace');
        $redis->set("{$namespace}:key", "test");
    }
}