©
本文档使用 PHP中文网手册 发布
(PECL memcached >= 0.1.0)
Memcached::setMulti — 存储多个元素
$items
[, int $expiration
] ) Memcached::setMulti() 类似于 Memcached::set() , 但是使用了
参数items
指定多个元素来替代单独的key/value设置以便于对多个元素的操作。expiration
参数指定的时候一次应用到所有的元素上。
items
存放在服务器上的键/值对数组。
expiration
到期时间,默认为 0。 更多信息请参见到期时间。
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
如需要则使用 Memcached::getResultCode() 。
Example #1 Memcached::setMulti() 示例
<?php
$m = new Memcached ();
$m -> addServer ( 'localhost' , 11211 );
$items = array(
'key1' => 'value1' ,
'key2' => 'value2' ,
'key3' => 'value3'
);
$m -> setMulti ( $items , time () + 300 );
?>
[#1] Nicolas [2013-04-03 16:51:55]
This is what the previous comment (fake set multi):
https://github.com/php-memcached-dev/php-memcached/blob/master/php_memcached.c#L1219
[#2] jooonic at googlemail dot com [2010-08-25 13:10:41]
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.