Daniele Alessandri
|
6e39491692
Changed the returned string used to hash a Connection instance when using a cluster of connections. IMPORTANT NOTE: if you are using a version of Predis older than this commit, then this change will surely have an impact on your existing partitioned data as it changes the distribution of server nodes over the ring.
|
16 роки тому |
Daniele Alessandri
|
6d43827af9
Merge branch 'server_compat'
|
16 роки тому |
Daniele Alessandri
|
8eb51ec0d1
Updated the test suite to work with the new parameters for Predis\Client.
|
16 роки тому |
Daniele Alessandri
|
47bb83bbb2
Type checking + minor fixes + more readable code for Predis\Client::__construct and Predis\Client::create.
|
16 роки тому |
Daniele Alessandri
|
e64333d77b
Complete rewrite of the client construction and initialization bits.
|
16 роки тому |
Daniele Alessandri
|
822a3e56e2
Implemented the "WITHSCORES" option for ZRANGE and ZREVRANGE.
|
16 роки тому |
Daniele Alessandri
|
d9b304f9e3
Merge branch 'cmd_zincrby'
|
16 роки тому |
Daniele Alessandri
|
d3a62d68bb
Fixed the return value of Predis\Commands\ZSetIncrementBy as it does not return a boolean value but the current score after the increment operation.
|
16 роки тому |
Daniele Alessandri
|
20e416306c
Added support for key tags: instead of hashing the full key, we hash only the portion enclosed within curly brackets.
|
16 роки тому |
Daniele Alessandri
|
3ccbff4277
The second parameter for RedisServerProfile::createCommandInstance is now optional.
|
16 роки тому |
Daniele Alessandri
|
6e76fbf660
Moved the default server profile class name to a private static variable of the Client class.
|
16 роки тому |
Daniele Alessandri
|
88cda9e52c
Added the new public method Client::setServerProfile.
|
16 роки тому |
Daniele Alessandri
|
876ac2ec7c
Renamed class RedisServerCompatibility to RedisServerProfile.
|
16 роки тому |
Daniele Alessandri
|
e57348720f
Just removed a bunch of unuseful comments...
|
16 роки тому |
Daniele Alessandri
|
f811877c87
More trivial changes for HashRing::add and HashRing::remove.
|
16 роки тому |
Daniele Alessandri
|
d3115e6259
Trivial changes in HashRing::getNodeKey.
|
16 роки тому |
Daniele Alessandri
|
ca7f3e294c
Removed the rather superfluous private method ConnectionCluster::getConnectionFromRing.
|
16 роки тому |
Daniele Alessandri
|
bcfa64f431
Moved the hash calculation for a command from ConnectionCluster to the command instance itself.
|
16 роки тому |
Daniele Alessandri
|
3428529be6
Client::executeCommandInternal must accept IConnection types! Stupid bugs are indeed stupid.
|
16 роки тому |
Daniele Alessandri
|
b1edc31af3
When using a ConnectionCluster (sharding data over multiple servers), disallow sending commands that cannot be hashed by a key argument.
|
16 роки тому |
Daniele Alessandri
|
344ec44059
Refactored Client::executeCommand and introduced the new method Client::executeCommandOnShards which is useful to execute commands on all the connections registered in a ConnectionCluster instance.
|
16 роки тому |
Daniele Alessandri
|
8d4958a516
The second parameter for Client::createCommandInstance is now optional.
|
16 роки тому |
Daniele Alessandri
|
b777daa535
Slightly improved the internals of Command::getArgument and Command::getArguments.
|
16 роки тому |
Daniele Alessandri
|
177120e1a2
The private method computeHash of ConnectionCluster is now a static method.
|
16 роки тому |
Daniele Alessandri
|
a84c9bdac7
ConnectionCluster now implements the IteratorAggregate interface, thus enabling iterations over the registered connections simply by using a foreach loop.
|
16 роки тому |
Daniele Alessandri
|
c7cd2b67e0
Same fix as commit 755c252 in master for the short alias of \Predis\Commands\Decrement
|
16 роки тому |
Daniele Alessandri
|
755c252fde
Fixed a small bug in which the short alias for \Predis\Commands\Decrement was wrongly set to 'incr' instead of 'decr' (thanks to Jeff lewwid{at}gmail.com for noticing). The test suite is flawed in this respect since it uses only the extended aliases for commands but the short ones are not checked for correctness.
|
16 роки тому |
Daniele Alessandri
|
cfcb635c24
Predis\Client now uses the new compatibility profiles, though it is still hardcoded which profile to load.
|
16 роки тому |
Daniele Alessandri
|
d0d51257c9
Added compatibility profiles for Redis server versions 1.0 and the upcoming 1.2.
|
16 роки тому |
Daniele Alessandri
|
a70c5b0800
Added the new abstract class 'RedisServerCompatibility'. Its subclassess will be used to define a set compatibility profiles for each version of the Redis server. The only drawback is that the selected compatibility profile will be shared among multiple connections when using client-side sharding.
|
16 роки тому |