Close

Memcached и Python

Memcached это программный продукт, предназначенный для хранения данных в виде хеш таблиц. В большинстве случаев он используется для кеширования результатов запросов к БД для различных счетчиков и т.п. Взаимодействие с ним основано на клиент-серверной архитектуре.

Установка его на debian-like дистрибутивы запускается следующей командой:

Memcached нужно запустить или убедится что он запущен:

Конфигурация его содержится в файле:

Она содержит номер порта (-p), размер выделяемой памяти (-m), лимит входящих подключений (-с), адрес файла с логом (logfile) и др. После редактирования конфигурации нужно перезапустить memcached:

Давайте немного поэкспериментируем.

Для этого создадим виртуальное окружение. Подробнее о них можно прочитать тут.

Находясь в виртуальном окружении, установим пакет python-memcached, он представляет собой инструмент для соединиения с memcached:

Теперь проверим его работоспособность. Для этого создадим файл ex1.py c содержимым:

Выполним его из виртуального окружения:

В случае, если не было ошибок мы увидим:

Memcached сохранил значения по ключу командой set и выдал нам его командой get. Для соединения использован хост по умолчанию 127.0.0.1 и порт по умолчанию 11211. Как видите, все очень просто.

Сделаем простой счетчик. Создадим файл ex2.py:

Мы создаем переменную counter и присваиваем ей значение 10. Затем, с помощью incr() увеличиваем значение на единицу. После еще раз увеличиваем на 7, и, наконец, уменьшаем на 1.

Создадим простой класс для работы с memcached. Опишем его в файле ex3.py.

А теперь воспользуемся им:

Более подробно с возможностями memcached можно ознакомиться здесь https://code.google.com/p/memcached/ или тут http://memcached.org/.

Поделиться: