Я пытаюсь сохранить splqueue в memcache (НЕ memcached). Следующий пример кода является простым тестом для этой цели.
$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
Когда я запускаю этот код, я получаю 2 в строке a и 0 в строке b. Так что это, вероятно, означает, что хранение структуры данных в memcache не работает.
Итак, у меня есть следующие три вопроса.
Я сделал что-то не так или есть другой способ сохранить splqueue в memcache?
Я также обнаружил SplObjectStorage для структур данных Spl. Может ли это быть решением моей проблемы?
Может ли memcached (НЕ memcache) хранить структуры данных?