我想與php(memcached)和C#(enyim)客戶端一起使用memcached。 我有一個場景,我想在CAS中的CAS值。爲此,我正在使用以下代碼:php memcached enyim客戶端標誌問題
$memcached = new Memcached;
$memcached->addServer('localhost', 11211) or die ("Could not connect");
$memcached->setOption(Memcached::OPT_COMPRESSION, false); // the enyim client doesn't support compression
do {
$entries = $memcached->get($theKey, null, $cas);
if ($memcached->getResultCode() == Memcached::RES_NOTFOUND) {
$entry = somearray("foo");
$memcached->add($theKey, $entry);
} else {
$entries[] = "bar";
$memcached->cas($cas, $theKey, $entries);
}
}
while ($memcached->getResultCode() != Memcached::RES_SUCCESS AND $memcached->getResultCode() != Memcached::RES_END);
這項工作一切正常,並以罰款開始。 但是,當C#客戶端CAS的值相同時,它出錯了。
$entries = $memcached->get($theKey, null, $cas);
即:
PHP Warning: Memcached::get(): could not uncompress value in ... at line ...
而作爲一個無限循環發生的結果 PHP提供給了一個警告。
現在我試圖通過telnet從memcached服務器獲取密鑰,數據就在那裏。 在PHP中,我也可以設置到這個鍵沒有問題。
我注意到一兩件事:PHP客戶端已設置的東西后,該標誌爲0 現在的C#客戶端已CAS'd值後,該標誌是274 是否有對PHP LIB一些標誌碰撞繼續?或者是別的什麼?
如果有人能幫我解決這個問題,我會非常樂意!
lordstyx
[編輯]
井然後。由於這個問題沒有得到答案,讓我以不同的方式說明問題。 有沒有辦法阻止C#客戶端設置標誌274?
我有完全相同的問題。你找到了解決方案嗎? – GRaecuS
這是近一年前的事了。看到我發佈的答案,因爲它涉及一些編輯。 – lordstyx
@GRaecuS忘了提及你的名字! – lordstyx