Redis — документо-ориентированное сетевое
журналируемое хранилище данных типа «ключ-значение» с открытым исходным
кодом. Хранит базу данных в оперативной памяти, снабжена механизмами
снимков для обеспечения постоянного хранения. Имеет библиотеки для
работы со многими существующими языками программирования.
По сути своей redis ничто иное как noSQL база данных. Поскольку данные хранятся в оперативной памяти поэтому операции запись/чтение производятся очень быстро видел даже что пишут до 100 тыс. операций в минуту. Правда это или нет доказывать не стану, но одно знаю точно это очень весомая альтернатива mysql базам данных значительно превосходящая по скорости. Естественно для работы с redis-ом было придумано и написано много библиотек в частности для php5. Но для начала я хочу рассказать зачем это нужно и где оно используется.
Допустим мы имеем большой корпоративный сайт со своей сложной структурой, где есть всевозможные списки новостей статей пользователей, чаты или обмен сообщениями и куча всяческих компонетов. Естественно большие корпоративные сайты имеющее множество гигабайтов информации тысячи пользователей и кучу таблиц в своей базе данных рано или позно сталкиваются с проблемой оптимизации. Особенно если приходится постоянно вытягивать из базы данных сложные запросы с тысячями элементов. В итоге когда данных очень много таблици баз данных перегружены, поисковые запросы выполняются по 30 секунд, а выборки больших списков до 1 минуты, наступает время оптимизировать систему. Некоторые обращаются к файловому Кешу данных. Некоторые до минимализма сокращают запросы переводя динамику в статику и так далее. Но бывают случаи когда данные на странице невозможно кешировать и нужно отдавать динамически в зависимости от действий пользователя причём в большом количестве к примеру списки пользователей или мгновенные сообщения будь то чат или гостевая книга. В таком случае я рекомендую использовать Redis.
Установка.
Скачать php библиотеку для работы c redis вы можете по этой ссылке http://rediska.geometria-lab.net/download/latest. Кстати http://rediska.geometria-lab.net/ это официальный сайт этой библиотеки где русские разработчики пишут почему-то всё на английском. Инcталировать сам сервер под ОС linux очень просто допустим в ubuntu это просто:
Дерево директории может выглядеть вот так.
Таким образом мы подключили библиотеку и указали в опциях что сервер находится на адресе 127.0.0.1 порту 6379.(стандартный порт)
Пока на этом всё, во второй части напишу как правильно пользоваться и где брать нужные, а главное правильные примеры и описания методов.
По сути своей redis ничто иное как noSQL база данных. Поскольку данные хранятся в оперативной памяти поэтому операции запись/чтение производятся очень быстро видел даже что пишут до 100 тыс. операций в минуту. Правда это или нет доказывать не стану, но одно знаю точно это очень весомая альтернатива mysql базам данных значительно превосходящая по скорости. Естественно для работы с redis-ом было придумано и написано много библиотек в частности для php5. Но для начала я хочу рассказать зачем это нужно и где оно используется.
Допустим мы имеем большой корпоративный сайт со своей сложной структурой, где есть всевозможные списки новостей статей пользователей, чаты или обмен сообщениями и куча всяческих компонетов. Естественно большие корпоративные сайты имеющее множество гигабайтов информации тысячи пользователей и кучу таблиц в своей базе данных рано или позно сталкиваются с проблемой оптимизации. Особенно если приходится постоянно вытягивать из базы данных сложные запросы с тысячями элементов. В итоге когда данных очень много таблици баз данных перегружены, поисковые запросы выполняются по 30 секунд, а выборки больших списков до 1 минуты, наступает время оптимизировать систему. Некоторые обращаются к файловому Кешу данных. Некоторые до минимализма сокращают запросы переводя динамику в статику и так далее. Но бывают случаи когда данные на странице невозможно кешировать и нужно отдавать динамически в зависимости от действий пользователя причём в большом количестве к примеру списки пользователей или мгновенные сообщения будь то чат или гостевая книга. В таком случае я рекомендую использовать Redis.
Установка.
Скачать php библиотеку для работы c redis вы можете по этой ссылке http://rediska.geometria-lab.net/download/latest. Кстати http://rediska.geometria-lab.net/ это официальный сайт этой библиотеки где русские разработчики пишут почему-то всё на английском. Инcталировать сам сервер под ОС linux очень просто допустим в ubuntu это просто:
apt-get install redisЕстественно на старнице сайта http://rediska.geometria-lab.net/documentation/get-started/ вы можете увидеть иные способы инсталляции. После того как сервер установлен и запущен вы можете создавать структуру сайта и скопировать в какую либо директорию распакованную библиотеку которая посути выглядит как одна папка с файлами.
Дерево директории может выглядеть вот так.
../MyProject/Итак нам нужно правильно подключить и настроить библиотеку redis для дальнейшего использования. Допустим пусть вся конфигурация будет описана в файле Config.php который в свою очередь инклудится в index.php.
/Rediska/ –папка с библиотекой
Index.php
Config.php
Rediska.php –главный файл библиотеки
$options = array(
'namespace' => 'Application_',
'servers' => array(
array('host' => '127.0.0.1', 'port' => 6379)
)
);
include_once («Rediska.php»);
$rediska = new Rediska($options);
Таким образом мы подключили библиотеку и указали в опциях что сервер находится на адресе 127.0.0.1 порту 6379.(стандартный порт)
Пока на этом всё, во второй части напишу как правильно пользоваться и где брать нужные, а главное правильные примеры и описания методов.
Комментариев нет:
Отправить комментарий