12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- /*
- * This file is part of the Predis package.
- *
- * (c) Daniele Alessandri <suppakilla@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- require 'SharedConfigurations.php';
- // Predis supports master / slave replication scenarios where write operations are
- // performed on the master server and read operations are executed against one of
- // the slaves. The behaviour of commands or EVAL scripts can be customized at will.
- // As soon as a write operation is performed, all the subsequent requests (reads
- // or writes) will be served by the master server.
- //
- // This example must be executed with the second Redis server acting as the slave
- // of the first one using the SLAVEOF command.
- //
- $parameters = array(
- 'tcp://127.0.0.1:6379?database=15&alias=master',
- 'tcp://127.0.0.1:6380?database=15&alias=slave',
- );
- $options = array('replication' => true);
- $client = new Predis\Client($parameters, $options);
- // Read operation.
- $exists = $client->exists('foo') ? 'yes' : 'no';
- $current = $client->getConnection()->getCurrent()->getParameters();
- echo "Does 'foo' exist on {$current->alias}? $exists.\n";
- // Write operation.
- $client->set('foo', 'bar');
- $current = $client->getConnection()->getCurrent()->getParameters();
- echo "Now 'foo' has been set to 'bar' on {$current->alias}!\n";
- // Read operation.
- $bar = $client->get('foo');
- $current = $client->getConnection()->getCurrent()->getParameters();
- echo "We just fetched 'foo' from {$current->alias} and its value is '$bar'.\n";
- /* OUTPUT:
- Does 'foo' exist on slave? yes.
- Now 'foo' has been set to 'bar' on master!
- We just fetched 'foo' from master and its value is 'bar'.
- */
|