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) // }
* 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');