Нещодавно випущена клієнтська бібліотека була стабільною. Він використовується digg (розроблений для digg Андрієм Змієвським, тепер вже не Digg) і реалізує набагато більше протоколу запам’ятовування, ніж старший клієнт memcache. Найважливіші особливості, які зберігаються в пам’яті:
- Cas жетони . Це значно полегшило моє життя і є легкою системою профілактики несвіжих даних. Щоразу, коли витягуєте щось із кеша, ви можете отримувати з ним маркер cas (подвійне число). Ви можете використовувати цей маркер, щоб зберегти оновлений об’єкт. Якщо ніхто більше не оновлював значення під час запуску потоку, своп буде успішним. В іншому випадку був створений новіший маркер cas, і ви змушені перезавантажити дані та зберегти їх знову за допомогою нового маркера.
- Прочитати зворотні дзвінки - це найкраще, оскільки нарізаний хліб. Це значно спростило мій код.
- getDelayed () - це приємна функція, яка може скоротити час, коли ваш сценарій повинен чекати, коли результати повернуться з сервера.
- Хоча пам'ятний сервер повинен бути дуже стабільним, він не найшвидший. Ви можете використовувати бінарний протокол замість ASCII з новим клієнтом.
- Кожен раз, коли ви зберігаєте складні дані в memcached, клієнт використовував завжди серіалізацію значення (що повільно), але тепер із memcached client у вас є можливість використовувати igbinary . Поки що у мене не було можливості перевірити, наскільки це може бути підвищення продуктивності.
Все це було достатньо для мене, щоб перейти на найновішого клієнта, і я можу сказати вам, що це працює як шарм. Існує така зовнішня залежність від бібліотеки, що керується libmemcached , але все-таки вдалося встановити її на Ubuntu та Mac OSX, тому проблем поки що немає.
Якщо ви вирішили оновити до нової бібліотеки, я пропоную вам оновити до останньої версії сервера, а також вона має деякі приємні функції. Для його компіляції вам потрібно буде встановити libevent , але для Ubuntu це не склало великих проблем.
Поки що я не бачив жодної системи, яка б забрала нового клієнта, що склався (хоча я їх не відслідковую), але я припускаю, що Zend незабаром вийде на борт.
ОНОВЛЕННЯ
Zend Framework 2 має адаптер для Memcached, який можна знайти тут