Изменить функции сериализации в PHP для Memcached - PullRequest
1 голос
/ 29 ноября 2009

По умолчанию модуль Memcached в PHP использует встроенные в PHP функции сериализации. Поскольку я пользуюсь теми же ключами из других языков программирования, я нашел модуль сериализации, который работает на всех языках. Как использовать мой модуль сериализации вместо PHP при хранении / получении ключей из Memcached?

Ответы [ 2 ]

4 голосов
/ 29 ноября 2009

Если ваш php-модуль memcached был скомпилирован с определенным HAVE_JSON_API (который, по моему мнению, является верным по умолчанию, начиная с php 5.2. В документации написано «Требуется PHP 5.2.10+»), вы можете установить сериализатор JSON с помощью

$memchache->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);

(а для многих, многих языков есть j- en / декодеры)

см. http://docs.php.net/memcached.constants

2 голосов
/ 29 ноября 2009

Просто поместите ваши сериализованные данные в строку и сохраните их в memcache,

$memcache->add('your_key', str, false, 30);

Если при серализации создаются двоичные данные. Вы должны самостоятельно кодировать base64, потому что двоичное кодирование PHP очень неэффективно.

...