PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ require 'SharedConfigurations.php'; // Predis allows to set Lua scripts as read-only operations in the context of // replication. This works for both EVAL and EVALSHA and also for the client-side // abstraction built upon them (Predis\Command\ScriptedCommand). This example // shows a slightly more complex configuration that injects a new scripted command // in the server profile used by the new client instance and marks it marks it as // a read-only operation for replication so that it will be executed on slaves. use Predis\Command\ScriptedCommand; use Predis\Connection\MasterSlaveReplication; use Predis\Replication\ReplicationStrategy; // ------------------------------------------------------------------------- // // Define a new scripted command that returns all the fields // of a variable number of hashes with a single roundtrip. class HashMultipleGetAll extends ScriptedCommand { const BODY = << function ($options, $option) { $profile = $options->getDefault($option); $profile->defineCommand('hmgetall', 'HashMultipleGetAll'); return $profile; }, 'replication' => function ($options) { $strategy = new ReplicationStrategy(); $strategy->setScriptReadOnly(HashMultipleGetAll::BODY); $replication = new MasterSlaveReplication($strategy); return $replication; }, ); // ------------------------------------------------------------------------- // $client = new Predis\Client($parameters, $options); // Execute the following commands on the master server using redis-cli: // $ ./redis-cli HMSET metavars foo bar hoge piyo // $ ./redis-cli HMSET servers master host1 slave host2 $hashes = $client->hmgetall('metavars', 'servers'); $replication = $client->getConnection(); $stillOnSlave = $replication->getCurrent() === $replication->getConnectionById('slave'); echo "Is still on slave? ", $stillOnSlave ? 'YES' : 'NO', "!\n"; var_export($hashes);