2013-09-28 115 views
0

我用在我的項目上的許多計數器通過分佈式緩存:你知道嗎,如何使用ADD命令進入memcached?

$data = $mc->set('sasa', 100); 
$data = $mc->get('sasa'); 
var_dump($data); 
$res = $mc->add('sasa', 100); 
var_dump($res); 

結果是

int(100) 
bool(false) 
int(100) 

如果我使用memcached的原協議:

get sasa 
VALUE sasa 1 3 
100 
END 
add sasa 0 0 1 
1 
NOT_STORE 
get sasa 
VALUE sasa 1 3 
100 
END 

ADD命令是不行的。 https://github.com/memcached/memcached/blob/master/doc/protocol.txt#L132

你知道嗎,如何在memcached中使用ADD命令?

+0

您正試圖「添加」已存在的東西? Memcached :: add()與Memcached :: set()類似,但如果服務器上已存在密鑰,操作將失敗。 –

回答

0

這可能是內存的使用已達到極限。請檢查它,如果是,請更改配置文件中的限制值。

1

你在你的例子表明該行爲是什麼應該被期待。 ADD命令只會添加一個密鑰,如果它不存在。