php memcache不使用mvc

时间:2014-04-22 11:13:16

标签: php memcached

我有两个不同的控制器。我正在使用Zend Framework MVC

控制器1.设置数据

控制器2.获取数据并显示

所以我这么做了:

控制器1。

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$data = array('id'=>1,'Name'=>'Jonson');
$key = "PersonalDetail";
$memcache->set($key,$data,MEMCACHE_COMPRESSED,1200);

控制器2。

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$key = "PersonalDetail";
$Data = $memcache->get($key);

var_dump($Data); //getting nothing.

如果设置了密钥,我检查了密钥。 我得到它在控制器1中设置。但是当我运行Controller 2代码然后检查密钥时......我再也不存在了。

这是否发生是因为我再次连接memcache以获取数据?或者还有其他事情发生了吗?

请帮忙。

1 个答案:

答案 0 :(得分:2)

Memcached密钥不能包含空格,请将密钥设置为personal_detail。请参阅specs

  

memcached存储的数据是在密钥的帮助下识别的。关键   是一个文本字符串,应该唯一标识客户端的数据   有兴趣存储和检索它的人。目前   密钥的长度限制设置为250个字符(当然,通常是   客户不需要使用这么长的密钥);关键不能包括   控制字符或空格。