【发布时间】:2012-02-23 16:29:51
【问题描述】:
我正在尝试将 splqueue 存储到内存缓存(不是内存缓存)。以下示例代码是为此目的进行的简单测试。
$mc = new Memcache();
$mc->addServer("127.0.0.1", 11300);
$mc->addServer("127.0.0.1", 11301);
$mc->addServer("127.0.0.1", 11302);
$q = new SplQueue();
$q->enqueue(10);
$q->enqueue(20);
$q->count(); // line a
$mc->set("spl_queue", $q);
$p = $mc->get("spl_queue");
$p->count(); // line b
当我运行这段代码时,我在 a 行得到 2,在 b 行得到 0。所以这可能意味着将数据结构存储在 memcache 中不起作用。
所以我有以下三个问题。
是我做错了什么还是有其他方法可以将 splqueue 存储在 memcache 中?
我还发现了用于 Spl 数据结构的 SplObjectStorage。这可以解决我的问题吗?
memcached(不是 memcache)可以存储数据结构吗?
【问题讨论】:
-
是的。感谢您指出。我已经更新了我的代码