Skip to content

drsdre/yii2-redis-counter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Yii2 Redis Counter

Redis Counter implements fast atomic counters using Redis storage.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist drsdre/yii2-redis-counter "*"

or add

"drsdre/yii2-redis-counter": "*"

to the require section of your composer.json file.

Usage

You need to setup the client as application component:

'components' => [
    'redisCounter' => [
        'class' => 'drsdre\redis\Counter',
    ],
    ...
]

Optional the parameter 'redis' can be added to specify a specific Redis connection.

Usage

Once the extension is installed, use it in your code like :

    // Create a hourly counter
    $counter_key = 'hourly_statistics';
    
    // Check if counter is setup
    if (Yii::$app->redisCounter->exists($counter_key)) {
        // Atomic increment counter with 1
        Yii::$app->redisCounter->incr($counter_key);
    } else {
        // Create counter set value to 1 and let it exist for 1 hour
        Yii::$app->redisCounter->set($counter_key, 1, 60*60);
    }