mirror of
https://github.com/predis/predis.git
synced 2026-08-24 14:09:27 +00:00
d09d8edc7d
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.
44 lines
1.0 KiB
PHP
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());
|
|
}
|
|
}
|