PHP 5.6.38 Released

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMulti複数のアイテムを格納する

説明

public bool Memcached::setMulti ( array $items [, int $expiration ] )

Memcached::setMulti()Memcached::set() と似ていますが、ひとつのキーのアイテムではなく items で設定した複数のアイテムに対して動作します。 有効期限 expiration は、すべてのアイテムに同時に適用されます。

パラメータ

items

サーバーに格納する キー/値 のペアの配列。

expiration

期限切れとなるまでの時間。デフォルトは 0。詳細な情報は有効期限 を参照ください。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。 必要に応じて Memcached::getResultCode() を使用しましょう。

例1 Memcached::setMulti() の例

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

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

参考

add a note add a note

User Contributed Notes 3 notes

up
4
Nicolas
5 years ago
up
0
nulll
7 months 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
-1
jooonic at googlemail dot com
8 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