PHP Conference Nagoya 2025

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMultiStore multiple items

Açıklama

public Memcached::setMulti(array $items, int $expiration = 0): bool

Memcached::setMulti() is similar to Memcached::set(), but instead of a single key/value item, it works on multiple items specified in items. The expiration time applies to all the items at once.

Bağımsız Değişkenler

items

Sunucuda saklanacak ilişkisel dizi.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::setMulti() example

<?php
$m
= new Memcached();
$m->addServer('localhost', 11211);

$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>

Ayrıca Bakınız

add a note

User Contributed Notes 3 notes

up
5
Nicolas
11 years ago
up
3
nulll
6 years ago
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 is
https://github.com/php-memcached-dev/php-memcached/blob/80cb21467a1db6b7b18725df586f11801c823695/php_memcached.c#L1219

By the way, can someone skilled in C confirm the "fake setMulti" problem?
up
2
jooonic at googlemail dot com
14 years ago
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.
To Top