toalett-redis-timeseries/src/Protocol/Query.php

49 lines
1.2 KiB
PHP

<?php
namespace Toalett\Redis\Timeseries\Protocol;
use Toalett\Redis\Timeseries\Model\Filter;
use Toalett\Redis\Timeseries\Protocol\Query\GetQuery;
use Toalett\Redis\Timeseries\Protocol\Query\MGetQuery;
use Toalett\Redis\Timeseries\Protocol\Query\MRangeQuery;
use Toalett\Redis\Timeseries\Protocol\Query\MRevRangeQuery;
use Toalett\Redis\Timeseries\Protocol\Query\RangeQuery;
use Toalett\Redis\Timeseries\Protocol\Query\RevRangeQuery;
final class Query
{
private function __construct()
{
}
public static function get(string $key): GetQuery
{
return new GetQuery($key);
}
public static function mget(Filter ...$filters): MGetQuery
{
return new MGetQuery(...$filters);
}
public static function mrange(Filter ...$filters): MRangeQuery
{
return new MRangeQuery(...$filters);
}
public static function mrevrange(Filter ...$filters): MRevRangeQuery
{
return new MRevRangeQuery(...$filters);
}
public static function range(string $key): RangeQuery
{
return new RangeQuery($key);
}
public static function revrange(string $key): RevRangeQuery
{
return new RevRangeQuery($key);
}
}