我有两个不同的控制器。我正在使用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以获取数据?或者还有其他事情发生了吗?
请帮忙。
答案 0 :(得分:2)
Memcached密钥不能包含空格,请将密钥设置为personal_detail
。请参阅specs:
memcached存储的数据是在密钥的帮助下识别的。关键 是一个文本字符串,应该唯一标识客户端的数据 有兴趣存储和检索它的人。目前 密钥的长度限制设置为250个字符(当然,通常是 客户不需要使用这么长的密钥);关键不能包括 控制字符或空格。