Как создать общий объект между разными сеансами в PHP?
Я думаю об использовании файла или таблицы памяти MySQL. Использование файла не является хорошим вариантом, поскольку оно не имеет блокировки и работает медленно. Использование таблицы памяти MySQL — хороший вариант, но как сохранить экземпляры классов (объекты) в таблицу? Сериализация объекта и размещение его в таблице также происходит медленно.
Option 1: MySQL memory table
Option 2: shm_attach,shm_detach,shm_get_var,shm_has_var,shm_put_var,..
Option 3: Memcache
Проблема заключается в том, что для использования таблицы памяти MySQL требуется запрос. Memcache не включен в стандартную установку PHP. Чтобы иметь функции shm_* в Windows, необходимо получить PHP, собранный из исходного кода с опцией «--enable-sysvsem», и для этого требуется настройка в php.ini, к которой разработчик может не иметь доступа все время.
Какой из вышеперечисленных лучше? Любые другие варианты?
json_encode
/json_decode
не могут иметь дело с конкретными классами, а только с объектами типа stdClass. И есть некоторые другие неподдерживаемые переменные функции с json, о которых позаботится searialize. Вероятно, поэтому он быстрее (я сомневаюсь, что такая скорость действительно имеет значение в вашем случае). - person hakre   schedule 17.11.2011