Memcached::add

(PECL memcached >= 0.1.0)

Memcached::add向一个新的key下面增加一个元素

说明

public Memcached::add ( string $key , mixed $value , int $expiration = ? ) : bool

Memcached::add()Memcached::set()类似,但是如果 key已经在服务端存在,此操作会失败。

参数

key

用于存储值的键名。

value

存储的值。

expiration

到期时间,默认为 0。 更多信息请参见到期时间

返回值

成功时返回 true, 或者在失败时返回 false。 如果key已经存在,Memcached::getResultCode()方法将会返回Memcached::RES_NOTSTORED

参见

User Contributed Notes

ilya dot chase at yandex dot ru 22-May-2019 08:57
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 17-Jun-2015 09:27
<?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");
    }

?>