Exemplo n.º 1
0
 private function saveGarbage(PredisClient $redis, $data)
 {
     $deferred = new Deferred();
     $tx = $redis->multiExec();
     $tx->incr('garbage-counter');
     $tx->execute(function ($replies, $redis) use($deferred, $data) {
         $hashId = 'garbage-' . $replies[0];
         $redis->set($hashId, $data, function () use($deferred, $hashId) {
             $deferred->resolve($hashId);
         });
     });
     return $deferred->promise()->then(function ($hashId) use($redis) {
         $saddDeferred = new Deferred();
         $redis->sadd('garbages', $hashId, function () use($hashId, $saddDeferred) {
             $saddDeferred->resolve($hashId);
         });
         return $saddDeferred->promise();
     });
 }