require dirname(__DIR__) . '/vendor/autoload.php';
// or require (dirname(__DIR__).'/src/autoloader.php');
use RedisClient\Pipeline\Pipeline;
use RedisClient\Pipeline\PipelineInterface;
use RedisClient\RedisClient;
$Redis = new RedisClient();
// Example 1. Transactions
$Redis->watch(['foo', 'bar']);
$Redis->multi();
$Redis->set('foo', 'bar');
$Redis->set('bar', 'foo');
$result = $Redis->exec();
var_dump($result);
//    array(2) {
//        [0]=> bool(true)
//        [1]=> bool(true)
//    }
// Example 2. True way to use transactions via Pipeline
$result = $Redis->pipeline(function (PipelineInterface $Pipeline) {
    /** @var Pipeline $Pipeline */
    $Pipeline->watch(['foo', 'bar']);
    $Pipeline->multi();
    $Pipeline->set('foo', 'bar');
    $Pipeline->set('bar', 'foo');
    $Pipeline->exec();
});
var_dump(end($result));
//    array(2) {
//        [0]=> bool(true)
//        [1]=> bool(true)
//    }
Example #2
0
 * file that was distributed with this source code.
 */
/**
 * Pipeline
 */
namespace Examples;

require dirname(__DIR__) . '/vendor/autoload.php';
// or require (dirname(__DIR__).'/src/autoloader.php');
use RedisClient\Pipeline\Pipeline;
use RedisClient\Pipeline\PipelineInterface;
use RedisClient\RedisClient;
$Redis = new RedisClient();
// Example 1. via new Pipeline
// Method 'pipeline' without params returns new Pipeline object;
$Pipeline = $Redis->pipeline();
// or $Pipeline = new Pipeline();
$Pipeline->set('foo', 'bar')->get('foo')->flushall();
var_dump($Redis->pipeline($Pipeline));
// result:
//    array(3) {
//        [0]=> bool(true)
//        [1]=> string(3) "bar"
//        [2]=> bool(true)
//    }
// Example 2. via Closure
// Method 'pipeline' without params returns new Pipeline object;
$result = $Redis->pipeline(function (PipelineInterface $Pipeline) {
    /** @var Pipeline $Pipeline */
    $Pipeline->set('foo', 'bar');
    $Pipeline->get('foo');