Назад | Перейти на главную страницу

Выберите версию memcache

Для сервера memcached мы используем версию 1.4.5, а приложение построено на PHP 5.3.6 и memcache (http://pecl.php.net/package/memcache) версия 3.0.5

В настоящее время у нас есть 2 пула memcached, каждый из которых имеет 3 сервера memcached. Между тем из-за необходимости балансировки нагрузки для наших веб-приложений теперь у нас есть два сервера приложений, подключенных к одним и тем же пулам memcached. Поскольку первый сервер приложений установлен давно, версия memcache - 3.0.5, для более нового сервера он установлен с memcache версии 3.0.6.

После этого произошло что-то странное, что иногда данные не могут быть получены, и мы получаем такие ошибки, как:

[Mon Oct 03 19:55:56 2011] [error] [client 192.168.0.22] PHP Notice:  unserialize(): Error at offset 0 of 9648 bytes in /public_html/test.php

Итак, похоже, когда мы сопоставили библиотеку memcache с той же версией (оба пула работают с 3.0.6 или 3.0.5), проблема решена. Но не уверены, есть ли у кого-нибудь похожие проблемы? ту какую версию порекомендуете?

Наконец, лучше ли использовать версию 2.2.6, которая является «стабильной» версией?

pecl / memcache 3.0.x alpha долгое время был заброшен, но в конце концов кто-то исправил несколько вещей.

в стабильной версии 2.2.x было намного меньше ошибок .. технически вы используете альфа-версию.

Если вы хотите потратить на это некоторое время, клиент pecl / memcached имеет тенденцию быть лучше и находится под некоторым активным сопровождением. «Стабильный» выпуск там немного устарел, но сейчас ведется новая работа.

В любом случае, я бы сохранил все свое программное обеспечение одной и той же версии, если это вообще возможно, и вам следует в какой-то момент обновить демон.