Files
predis/lib/Predis/Iterator/Scan/KeyspaceIterator.php
T
Daniele Alessandri d09d8edc7d Extract base class for iterators based on the SCAN family of commands.
The iterators based on SCAN, SSCAN, ZSCAN and HSCAN will extend this abstract
class to share most of the logic which is common for all of the Redis commands
in the SCAN family.
2013-11-03 14:19:02 +01:00

44 lines
1.0 KiB
PHP

<?php
/*
* This file is part of the Predis package.
*
* (c) Daniele Alessandri <suppakilla@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Predis\Iterator\Scan;
use Predis\ClientInterface;
/**
* Abstracts the iteration of the keyspace on a Redis instance
* by leveraging the SCAN command (Redis >= 2.8) wrapped in a
* fully-rewindable PHP iterator.
*
* @author Daniele Alessandri <suppakilla@gmail.com>
* @link http://redis.io/commands/scan
*/
class KeyspaceIterator extends AbstractScanIterator
{
/**
* {@inheritdoc}
*/
public function __construct(ClientInterface $client, $match = null, $count = null)
{
$this->requiredCommand($client, 'SCAN');
parent::__construct($client, $match, $count);
}
/**
* {@inheritdoc}
*/
protected function executeScanCommand()
{
return $this->client->scan($this->cursor, $this->getScanOptions());
}
}