Skip to content

Latest commit

 

History

History
96 lines (65 loc) · 4.58 KB

README.rus.md

File metadata and controls

96 lines (65 loc) · 4.58 KB

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads

Введение

В 2010 году был презентован плагин HandlerSocket для MySQL.

Плагин значительно ускорял работу с данными, хранящимися в MySQL, и позволял работать с базой данных, как с NoSQL хранилищем.

Эта библиотека является реализацие протокола HandlerSocket, полностью написанная на PHP.

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

Зачем

На дворе 2014 год, а до сих пор инструмент и мануалы по использованию HandlerSocket похожи на экспериментальные или в процессе разработки.

Меня не устроили уже готовые решения, поэтому я решил написать свой велосипед и кататься на нем.

Почему вам стоит использовать HandlerSocket:

  • консистентность данных;
  • высокая производительность;
  • компактность протокола;
  • совместим с репликацией MySQL;
  • идет из коробки в PerconaServer, MariaDB.

Приведенная ниже таблица показывает сравнение эффективности MySQL и Memcached.

approx qps User CPU util System CPU util
MySQL via SQL 105,000 60% 28%
Memcached 420,000 8% 88%
MySQL via HandlerSocket 750,000 45% 53%

Установка

Как установить HandlerSocket можно найти в интернете или просто скачать PerconaServer или MariaDB.

Начать использовать HandlerSocketLibrary очень просто.

Добавить в composer.json:

konstantin-kuklin/handlersocket-library": "dev-master"

Подключение

Открываем соединение на сокет только для чления и авторизовываемся с паролем 'passwordRead'.

$reader = new \HS\Reader('localhost', 9998, 'passwordRead');

Открываем соединение на сокет для записи, пароль не указан.

$writer = new \HS\Writer('localhost', 9999);

Запросы

Производительность

Сравнение с основными библиотеками для PHP.

В списке будет участвовать HSPHP, написанный на PHP, HandlerSocket, написанный на С.

HSPHP (PHP) HandlerSocket(c-extension) HandlerSocketLibrary(PHP)

Как помочь

Буду рад вашим предложениям и отчетам о найденных багах!

Лицензия

Эта библиотека распространяется под MIT license.