请注意,此操作是原子的,这意味着它是对竞争条件操作安全的(因为 Memcached 在单个进程中运行)。您可以使用此方法来锁定,并且可以确保两个请求不会同时使用此方法获得“true”。
(PECL memcached >= 0.1.0)
Memcached::add — 在新的键下添加项
Memcached::add() 类似于 Memcached::set(),但如果 key
已经在服务器上存在,则操作将失败。
成功时返回 true
,失败时返回 false
。如果键已经存在,Memcached::getResultCode() 将返回 Memcached::RES_NOTSTORED
。
请注意,此操作是原子的,这意味着它是对竞争条件操作安全的(因为 Memcached 在单个进程中运行)。您可以使用此方法来锁定,并且可以确保两个请求不会同时使用此方法获得“true”。
<?php
/**
* 由 PhpStorm 创建。
* 用户:zhoujunwen
* 日期:15/6/17
* 时间:下午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");
}
?>