This is what the previous comment (fake set multi):https://github.com/php-memcached-dev/php-memcached/blob/master/php_memcached.c#L1219
(PECL memcached >= 0.1.0)
Memcached::setMulti — Armazena vários itens
Memcached::setMulti() é semelhante a
Memcached::set(), mas em vez de um único item de key/value,
ele funciona em vários itens especificados em
items
. O tempo de expiration
se aplica a todos os itens de uma só vez.
items
Um array de pares chave/valor para armazenar no servidor.
expiration
O tempo de expiração padrão é 0. Consulte Tempos de Expiração para mais informações.
Retorna true
em caso de sucesso ou false
em caso de falha.
Use Memcached::getResultCode() se necessário.
Exemplo #1 Exemplo de Memcached::setMulti()
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>
This is what the previous comment (fake set multi):https://github.com/php-memcached-dev/php-memcached/blob/master/php_memcached.c#L1219
The previous comment is from April 2013, it has a link pointing on current master, so things are changed since 2013 in the source code.Maybe the right link ishttps://github.com/php-memcached-dev/php-memcached/blob/80cb21467a1db6b7b18725df586f11801c823695/php_memcached.c#L1219By the way, can someone skilled in C confirm the "fake setMulti" problem?
Dont expect setmulti is faster then multiple SETs!It doesn't use the setmulti lib function, it iterats over every key and send him alone.I can't find any php implementation with setmulti support (needs support for memcached's binary protocol, remember php's "memcache"-extension only supports text-protocol).Thats bad, not enought throughput to membase.So i have to use redis instead, coz of its support for get/set multi.