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.
Memcached::setMulti
(PECL memcached >= 0.1.0)
Memcached::setMulti — Stocke plusieurs éléments
Description
public bool Memcached::setMulti
( array $items
[, int $expiration
] )
Memcached::setMulti() est similaire à Memcached::set(), et au lieu de stocker une seule paire clé / valeur, elle fonctionne sur plusieurs éléments via items. Le délai d'expiration expiration s'applique à tous les éléments dans leur ensemble.
Liste de paramètres
- items
-
Un tableau de paires clé/valeur à stocker sur le serveur.
- expiration
-
Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.
Valeurs de retour
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode() si nécessaire.
Exemples
Exemple #1 Exemple avec Memcached::setMulti()
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>
Voir aussi
- Memcached::setMultiByKey() - Stocke plusieurs éléments sur un serveur
- Memcached::set() - Stocke un élément
jooonic at googlemail dot com
25-Aug-2010 01:10
