Daniele Alessandri
576163724c
Add an example for multibulk reply iterators.
...
[ci skip]
2012-08-21 18:10:49 +02:00
Daniele Alessandri
e54bc31212
Create Predis\Cluster namespace and move related classes / interfaces.
2012-07-30 20:10:14 +02:00
Daniele Alessandri
7683f97ff2
Move the hash generator inside the command hash strategy class.
...
This should make things a tiny bit faster (we are speaking about micro
optimizations anyway) but more importantly it results in a better
encapsulation.
2012-07-30 15:42:45 +02:00
Daniele Alessandri
55a3fd65a2
More code styling changes.
2012-07-27 12:23:25 +02:00
Daniele Alessandri
6c732c737b
Order "use" directives by namespace depth and name.
...
This is not really useful per se, but at least we use a fixed rule.
2012-07-26 23:04:20 +02:00
Daniele Alessandri
559853bdd5
Move some classes and interfaces in other namespaces.
2012-07-26 22:37:31 +02:00
Daniele Alessandri
ca7bd8149f
Scripting abstraction can use negatives to calculate number of keys.
...
With a negative number Predis will count from the end of the arguments list
to calculate the actual number of keys that will be interpreted as elements
for `KEYS` by the underlying `EVAL` command.
2012-04-25 11:35:06 +02:00
Daniele Alessandri
9426d78b90
Fix example for custom distribution strategy.
...
See ISSUE #63 for details.
2012-04-13 11:37:03 +02: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
Daniele Alessandri
626520b836
Add specific server profile alias for Redis 2.6.
2012-01-14 13:01:38 +01:00
Daniele Alessandri
39a9fc2ddd
Add a new example for complex replication configuration.
2011-12-27 12:34:44 +01:00
Daniele Alessandri
22f1aafae8
Fix example of replication.
2011-12-21 21:41:51 +01:00
Daniele Alessandri
466c666547
Add example for master / slave replication.
2011-12-21 21:01:48 +01:00
Daniele Alessandri
dc9bd4e3a3
Add notice in the example of servers-side scripting with Lua.
2011-12-11 12:41:38 +01:00
Daniele Alessandri
371ac91777
[tests] Rewrite the whole test suite to allow more granular testing.
...
Fix also a few bugs found while rewriting the test suite.
In order to be able to run integration tests, the test suite requires
a version of Redis >= 2.4.0.
The units have been splitted into several different groups using
PHPUnit @group annotation to allow developers to enable, disable
and combine certain types of tests. The available groups are:
- disconnected: can run without a Redis server online
- connected: active connection to a Redis server is required
- commands: test dedicated to a specific Redis command
- slow: performs operations that can slow down execution;
A list of the available groups can be obtained by running
phpunit --list-groups
Groups of tests can be disabled or enabled via the XML configuration
file or the standard command-line test runner. Please note that due
to a bug in PHPUnit, older versions ignore the --group option when
the group is excluded in the XML configuration file. Please refer to
http://github.com/sebastianbergmann/phpunit/issues/320 for details
Integration tests in the @connected group check if the command being
tested is defined in the selected server profile (see the value of
the TEST_SERVER_VERSION constant in phpunit.xml). If the command is
not defined in the target server profile, the integration test is
automatically marked as skipped.
We also provide an helper script in the bin directory that can be
used to automatically generate a file with the scheleton of a test
case for a Redis command by specifying the name of the class in the
Predis\Commands namespace. For example, to generate a test case for
SET (represented by the Predis\Commands\StringSet class):
./bin/generate-command-test.php --class=StringSet
The realm of a command is automatically inferred from the name of the
class, but it can be set using the --realm option.
2011-12-10 15:26:00 +01:00
Daniele Alessandri
a894f470bd
Add an "autoload.php" utility script for autoloading in examples and tests.
2011-11-28 10:19:11 +01:00
Daniele Alessandri
4882e23319
Move Publish/Subscribe related classes to the Predis\PubSub namespace.
2011-11-28 10:01:21 +01:00
Daniele Alessandri
0fee0c6d97
Remove the underscore prefix for names of private/protected fields.
2011-11-25 14:17:11 +01:00
Daniele Alessandri
2f23fb03f0
Apply minor changes to the rest of the examples.
2011-10-22 11:07:25 +02:00
Daniele Alessandri
d160cd9175
Update the server-side scripting example to use the current Redis unstable.
2011-10-22 10:55:58 +02:00
Gun.io Whitespace Robot
b9ca78ac43
Remove whitespace [Gun.io WhitespaceBot]
2011-10-21 10:50:42 -04:00
Daniele Alessandri
9608a97469
Add a license header to PHP files.
2011-10-18 16:41:46 +02:00
Daniele Alessandri
20d872a306
Apply some coding style changes.
2011-10-18 15:51:55 +02:00
Daniele Alessandri
5e41657363
Use the new Predis\Autoloader class for tests and examples.
2011-10-02 12:07:52 +02:00
Daniele Alessandri
2cdcd297f0
Rename Predis\Client::pubSubContext() to Predis\Client::pubSub().
2011-06-04 18:47:59 +02:00
Daniele Alessandri
13ac03e134
Merge branch 'redis_scripting'
2011-05-13 20:06:34 +02:00
Daniele Alessandri
092b822033
Add an example for server-side scripting with Lua using Predis abstractions.
2011-05-13 20:06:06 +02:00
Daniele Alessandri
e97e13bde5
Add the 'prefix' client option. The client will automatically prepend the specified prefix string to each key.
2011-05-05 17:16:14 +02:00
Daniele Alessandri
46db0409a1
Merge branch 'command_processor'
2011-05-05 16:31:55 +02:00
Daniele Alessandri
cb363b52f6
Update examples.
2011-05-05 16:24:46 +02:00
Daniele Alessandri
150795f999
Remove the key_distribution option and allow user-defined callbacks to initialize a cluster connection.
2011-05-05 15:06:00 +02:00
Daniele Alessandri
09b5d7ac61
Change Predis\Commands\Preprocessors to Predis\Command\Processors.
2011-05-04 11:23:31 +02:00
Daniele Alessandri
19b703588b
Add an example for Predis\DispatcherLoop.
2011-04-25 14:39:29 +02:00
Daniele Alessandri
b5a1ba9795
Minor code and formatting changes for the example files.
2011-04-25 14:22:34 +02:00
Daniele Alessandri
21372bef6d
Add an example for Predis\MonitorContext.
2011-04-25 14:17:24 +02:00
Daniele Alessandri
7b4da3cd78
Use variadic SUBSCRIBE in the PubSub example.
2011-04-24 14:11:34 +02:00
Daniele Alessandri
f6eab6ec3a
Just a minor code styling change.
2011-04-11 23:43:49 +02:00
Daniele Alessandri
20ce6e523a
Add an example to show how to leverage key prefixes.
2011-04-08 11:16:06 +02:00
Daniele Alessandri
c2a61a3113
Rename Predis\CommandPipeline to Predis\PipelineContext.
2011-04-04 11:31:26 +02:00
Daniele Alessandri
afd78b49a6
Update README and samples.
2011-03-18 15:45:27 +01:00
Daniele Alessandri
3f8b639e2b
Change StreamConnection in order to disable read/write timeouts when the value of 'read_write_timeout' is also equal to 0.
2011-03-06 11:03:53 +01:00
Daniele Alessandri
30bc53ee75
Rename method ICommand::getCommandId() to ICommand::getId().
2011-03-04 19:37:10 +01:00
Daniele Alessandri
0d5fb3319d
Move Predis\Command and Predis\ICommand to the Predis\Commands namespace.
2011-03-04 19:21:41 +01:00
Daniele Alessandri
5431af0c4b
Update examples to the new connection API design.
2011-03-02 10:11:58 +01:00
Daniele Alessandri
9f58d8a663
Register an autoloader function for examples.
2011-02-25 12:09:45 +01:00
Daniele Alessandri
2b2ca8e8dc
Remove trailing spaces in code.
2011-02-15 12:46:19 +01:00
Daniele Alessandri
44839a7a6f
Minor fix in a comment.
2011-02-12 17:25:48 +01:00
Daniele Alessandri
3b2681f2c8
Move some classes in new namespaces and refactor some code.
2011-01-08 00:45:46 +01:00
Daniele Alessandri
858d7372ca
Add an example for MULTI/EXEC transactions using CAS.
2010-12-31 19:41:31 +01:00
Daniele Alessandri
b3ea36f3fa
Add a new example.
2010-09-18 18:54:57 +02:00