簡體   English   中英

添加多個服務器后,PHP Memcache無法正常工作

[英]PHP Memcache not working after adding multiple servers

我正在用PHP創建一些備份CLI腳本,該腳本利用了Memcache類,但是我有一個奇怪的問題...

當我在Memcache上附加多個服務器時,即使條目存在,get()方法也始終返回false,但是當我僅附加一個放置該條目的服務器時,將返回其值...

不起作用:

$mc = new Memcache();
$mc->addServer('localhost', 11211);
$mc->addServer('localhost', 11212);
$mc->addServer('localhost', 11213);
var_dump($mc->get('someKey')); //bool(false)

但這有效:

$mc = new Memcache();
$mc->addServer('localhost', 11211); 
var_dump($mc->get('someKey')); //Outputs actual value

我重復一遍,我從命令行運行此腳本。 在將所有三台服務器都添加到連接池的情況下,也使用Memcache類在memcache中創建條目。 唯一的區別是使用瀏覽器通過HTTP請求觸發了緩存條目的保存。

任何想法?

嘗試運行此代碼

<?php
error_reporting(E_ALL || E_NOTICE);

$mc = new Memcache();
$mc->addServer('localhost', 11211);
$mc->addServer('localhost', 11212);
$mc->addServer('localhost', 11213);

var_dump($mc->getExtendedStats());
var_dump($mc->get('someKey')); //bool(false)
?>

同樣,您應該使用與get()完全相同的服務器池來set()您的密鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM