Memcached::add
(PECL memcached >= 0.1.0)
Memcached::add — 向一个新的key下面增加一个元素
说明
Memcached::add()与Memcached::set()类似,但是如果
key
已经在服务端存在,此操作会失败。
返回值
成功时返回 true
, 或者在失败时返回 false
。
如果key已经存在,Memcached::getResultCode()方法将会返回Memcached::RES_NOTSTORED
。
参见
- Memcached::addByKey() - 在指定服务器上的一个新的key下增加一个元素
- Memcached::set() - 存储一个元素
- Memcached::replace() - 替换已存在key下的元素

User Contributed Notes 2 notes
ilya dot chase at yandex dot ru ¶
3 years ago
Note that this operation is atomic, means that it's safe from race condition operation (since memcached is running in single process). You can use this method for locks and can be sure that two requests will not get "true" simultaneously using this method.
zhoujunwen888 at 126 dot com ¶
7 years ago
<?php
/**
* Created by PhpStorm.
* User: zhoujunwen
* Date: 15/6/17
* Time: 下午4:51
*/
$mem = new Memcached();
$mem->addServer('127.0.0.1',11211);
if( $mem->add("mystr","this is a memcache test!",3600)){
echo '原始数据缓存成功!';
}else{
echo '数据已存在:'.$mem->get("mystr");
}
?>