Vladyslav Vildanov
16bdd83d23
Added EXPIRETIME command to KeyPrefixProcessor ( #1369 )
...
* Added EXPIRETIME command to KeyPrefixProcessor
* Fixed test responses for Redis 7.2
* Marked test as relay-incompatible
2023-08-25 14:27:24 -07:00
Vladyslav Vildanov
a711ef96e2
Added GETDEL command to KeyPrefixProcessor ( #1306 )
...
* Added GETDEL command to KeyPrefixProcessor
* Added test coverage
* Codestyle fixes
* Added timeout after FT.CREATE call
2023-06-08 11:32:05 +03:00
Jess Archer
98d4f80263
Add missing stream key prefixes ( #1230 )
...
* Added missing stream key prefixes
* Tested stream command key prefixing
2023-03-29 07:03:45 -07:00
Till Krüss
82791e55e1
format tests
2023-01-17 15:08:18 -08:00
Till Krüss
af2e5cc553
order imports
2023-01-17 15:08:18 -08:00
Till Krüss
06c00ac43f
import global namespace
2023-01-17 15:08:18 -08:00
Till Krüss
c412594217
align phpdoc vertically
2023-01-17 15:08:18 -08:00
Till Krüss
cc40219268
use short array syntax
2023-01-17 15:08:18 -08:00
Till Krüss
c9babb1984
update copyright comments
2023-01-17 13:41:35 -08:00
Daniele Alessandri
c6f2ce4b83
[tests] Replace generic MockObject::will() with specialized methods.
2020-09-01 14:03:19 +02:00
Daniele Alessandri
36c9bb047e
[tests] Start improving test suite.
...
- Make use of more typehints for function parameters
- Make use of typehints for function return values
- Use @var where needed to give proper hints to IDEs and avoid warnings
- Replace MockObject::setMethods() with addMethods() and onlyMethods()
- Rewording of some phpdocs
2020-09-01 13:58:14 +02:00
Daniele Alessandri
c26909699b
Merge remote-tracking branch 'github/pr/639' into main
2020-08-18 16:03:10 +02:00
Raza Mehdi
5edf443141
Fix tests.
2020-08-16 01:59:41 +05:00
Daniele Alessandri
f02f3b6d37
[tests] Improve code coverage.
...
There is still some work to improve coverage in other classes though.
2016-06-09 16:41:19 +02:00
Daniele Alessandri
e4872af747
Modify ctor signature of Predis\Command\RawCommand.
2016-06-04 20:54:36 +02:00
Daniele Alessandri
0dff761a61
Merge branch 'v1.1-commands-redis-3.2'
2016-05-24 23:17:33 +02:00
Daniele Alessandri
51932d82e8
Add new command: GEORADIUSBYMEMBER (Redis 3.2.0).
2016-05-24 22:35:27 +02:00
Daniele Alessandri
00000fde4e
Add new command: GEORADIUS (Redis 3.2.0).
2016-05-24 22:30:06 +02:00
Daniele Alessandri
b2284d015f
Add new command: GEODIST (Redis 3.2.0).
2016-05-24 17:09:35 +02:00
Daniele Alessandri
c4e0044269
Add new command: GEOPOS (Redis 3.2.0).
2016-05-24 17:09:33 +02:00
Daniele Alessandri
0b6b3b2558
Add new command: GEOHASH (Redis 3.2.0).
2016-05-24 16:00:08 +02:00
Daniele Alessandri
7ef9619f5c
Add new command: GEOADD (Redis 3.2.0).
2016-05-24 16:00:06 +02:00
Daniele Alessandri
3362e474b6
Add new command: BITFIELD (Redis 3.2.0).
2016-05-24 16:00:04 +02:00
Daniele Alessandri
7b3f6e1db5
[tests] Add missing test for key prefix in HSTRLEN.
2016-05-24 15:11:49 +02:00
Daniele Alessandri
8dd9893a2f
Run php-cs-fixer with new configuration.
2015-07-24 23:17:02 +02:00
Daniele Alessandri
df2e9f4e71
Fix prefix processor to handle variadic EXISTS (Redis >= 3.0.3).
2015-07-24 18:29:51 +02:00
Daniele Alessandri
6590c44a27
Run php-cs-fixer against codebase in src/ and tests/.
2015-07-24 18:04:42 +02:00
Daniele Alessandri
474f3ddbe7
Add missing command: MIGRATE (Redis 2.6.0).
...
Fixes #209 .
2015-07-23 17:22:53 +02:00
Daniele Alessandri
ae054fc7e1
[tests] Fix minor oversight.
2015-07-23 16:46:07 +02:00
Daniele Alessandri
6882d08373
Add missing BITPOS command in key prefix processor.
...
See #265 .
2015-07-23 11:06:57 +02:00
Michal Humpula
af48b30398
add zrevrangebylex command
2015-01-23 23:06:40 +01:00
Daniele Alessandri
dbfc1a74ba
More random fixes after inspection.
2014-07-27 23:06:17 +02:00
Daniele Alessandri
30254a2594
[phpdoc] Various phpdoc fixes.
2014-07-27 21:57:13 +02:00
Daniele Alessandri
940326e5bd
New command: ZREMRANGEBYLEX (Redis 2.8.9).
2014-06-09 15:35:28 +02:00
Daniele Alessandri
ea32f74512
New command: ZRANGEBYLEX (Redis 2.8.9).
2014-06-09 15:26:17 +02:00
Daniele Alessandri
8dbac3dd73
New command: ZLEXCOUNT (Redis 2.8.9).
2014-06-09 15:17:36 +02:00
Daniele Alessandri
2aa0b071fc
New commands: PFADD, PFCOUNT, PFMERGE (Redis 2.8.9).
...
Many thanks to @rubensayshi for his initial commits on this in #163 ,
but I had to start from scratch for the master branch first.
2014-05-30 11:32:39 +02:00
Daniele Alessandri
bf32f4b87c
[tests] Remove unused "use" directives.
2013-12-22 16:19:04 +01:00
Daniele Alessandri
2a6409590c
Run php-cs against test suite.
2013-12-17 12:55:56 +01:00
Daniele Alessandri
5529e33047
Rework classes and interfaces in Predis\Command\Processor namespace.
...
- Renamed `Predis\Command\Processor\CommandProcessorInterface`
- Removed `Predis\Command\Processor\CommandProcessorChainInterface`
2013-12-17 10:57:43 +01:00
Daniele Alessandri
b253bdc41e
[tests] Improve the basic framework of our test suite.
...
We now have a base test case class for Predis (namely PredisTestCase)
grouping various commonly used utility methods shared by all of the
tests in the suite, greatly improving reusability.
2013-11-30 19:38:27 +01:00
Daniele Alessandri
cf581a3b49
Add new command class useful to execute "raw" Redis commands.
...
By raw we mean that input arguments are not filtered and responses are
not parsed, which means arguments must follow the command signature as
defined by Redis and complex responses are left untouched.
When instantiating an instance of `Predis\Command\RawCommand` you must
pass at least the command ID. You can pass further arguments in the
array or you can just set them later with `RawCommand::setArguments()`
but you cannot modify the command ID once instantiated.
$command = new Predis\Command\RawCommand(['SET', 'foo', 'bar']);
$response = $client->executeCommand($command);
While higher level abstractions built upon `Predis\Client` should just
use commands created by the profile in use, inner parts of the library
might use raw commands to provide certain functionalities making sure
that input and output of commands are always consistent, independent
of the profile.
2013-11-30 14:30:33 +01:00
Daniele Alessandri
980edf2f7b
Rename base command class to Predis\Command\Command.
2013-11-30 12:24:43 +01:00
Daniele Alessandri
d0b431016d
Move key prefixing logic from command classes to prefix processor.
...
While command classes define how the client should filter arguments or
parse responses, key prefixing depends on the actual command signature
as defined by Redis so it really is something that should be handled
separately as the norm.
Developers can define new handlers or override existing ones, but they
can still define the key prefixing logic inside their command classes
by implementing Predis\Command\PrefixableCommandInterface: the key
prefix processor will just use that by overriding any defined handler.
2013-11-29 22:36:32 +01:00
Daniele Alessandri
f18d7103f5
[tests] Remove useless backslash in "use" directive.
2013-11-16 14:57:00 +01:00
Daniele Alessandri
6e2fd181f1
Make sure key prefixing is skipped when command has no arguments.
...
Actually this was already the case for certain commands, but some of them
was left unguarded for such cases. This commit also fixes #109 .
The behaviour of silently skipping key prefixing when a command has no
arguments may change in the future so we added explicit tests as guards
for future changes. Predis\Command\Processor\KeyPrefixProcessor will
continue to skip key prefixing on empty arguments, regardless.
2013-03-16 16:00:33 +01:00
Daniele Alessandri
83720075f3
Make it possible to cast key prefix processor instance to string.
...
Mostly useful with string interpolation when getting the current prefix
associated to a client instance.
2012-12-27 10:50:25 +01:00
Daniele Alessandri
dc14c29676
Rename certain namespaces, interfaces and classes.
...
Now we follow a Symfony2-like naming convention for namespaces, interfaces
and classes sticking with one clear rule.
- Renamed namespaces:
- Predis\Network
- Predis\Profiles
- Predis\Iterators
- Predis\Options
- Predis\Commands
- Predis\Commands\Processors
- Renamed interfaces:
- Predis\IReplyObject
- Predis\IRedisServerError
- Predis\IConnectionFactory
- Predis\IConnectionParameters
- Predis\Options\IOption
- Predis\Options\IClientOptions
- Predis\Profile\IServerProfile
- Predis\Pipeline\IPipelineExecutor
- Predis\Distribution\INodeKeyGenerator
- Predis\Distribution\IDistributionStrategy
- Predis\Protocol\IProtocolProcessor
- Predis\Protocol\IResponseReader
- Predis\Protocol\IResponseHandler
- Predis\Protocol\ICommandSerializer
- Predis\Protocol\IComposableProtocolProcessor
- Predis\Network\IConnection
- Predis\Network\IConnectionSingle
- Predis\Network\IConnectionComposable
- Predis\Network\IConnectionCluster
- Predis\Network\IConnectionReplication
- Predis\Commands\ICommand
- Predis\Commands\IPrefixable
- Predis\Command\Processor\ICommandProcessor
- Predis\Command\Processor\ICommandProcessorChain
- Predis\Command\Processor\IProcessingSupport
- Renamed Classes:
- Predis\Commands\Command
- Predis\Network\ConnectionBase
- Classes moved to different namespaces:
- Predis\MonitorContext
Meh
2012-01-31 18:19:18 +01:00