mirror of
https://github.com/predis/predis.git
synced 2026-08-27 18:51:07 +00:00
Add the 'prefix' client option. The client will automatically prepend the specified prefix string to each key.
This commit is contained in:
@@ -8,10 +8,7 @@ require 'SharedConfigurations.php';
|
||||
// user-level namespaces for you keyspace, thus eliminating the need for separate
|
||||
// logical databases.
|
||||
|
||||
use Predis\Commands\Processors\KeyPrefixProcessor;
|
||||
|
||||
$client = new Predis\Client();
|
||||
$client->getProfile()->setProcessor(new KeyPrefixProcessor('nrk:'));
|
||||
$client = new Predis\Client($single_server, array('prefix' => 'nrk:'));
|
||||
|
||||
$client->mset(array('foo' => 'bar', 'lol' => 'wut'));
|
||||
var_dump($client->mget('foo', 'lol'));
|
||||
|
||||
@@ -16,6 +16,9 @@ class Client {
|
||||
$options = $this->filterOptions($options);
|
||||
$this->_options = $options;
|
||||
$this->_profile = $options->profile;
|
||||
if ($prefixer = $options->prefix) {
|
||||
$this->_profile->setProcessor($prefixer);
|
||||
}
|
||||
$this->_connectionFactory = $options->connections;
|
||||
$this->_connection = $this->initializeConnection($parameters);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace Predis;
|
||||
|
||||
use Predis\Options\IOption;
|
||||
use Predis\Options\ClientPrefix;
|
||||
use Predis\Options\ClientProfile;
|
||||
use Predis\Options\ClientCluster;
|
||||
use Predis\Options\ClientConnectionFactory;
|
||||
@@ -23,6 +24,7 @@ class ClientOptions {
|
||||
'profile' => new ClientProfile(),
|
||||
'connections' => new ClientConnectionFactory(),
|
||||
'cluster' => new ClientCluster(),
|
||||
'prefix' => new ClientPrefix(),
|
||||
);
|
||||
return self::$_sharedOptions;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace Predis\Options;
|
||||
|
||||
use Predis\Commands\Processors\KeyPrefixProcessor;
|
||||
|
||||
class ClientPrefix extends Option {
|
||||
public function validate($value) {
|
||||
return new KeyPrefixProcessor($value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user