Кэширование на Flask

Admin Flask

Описание кэширования на python в фреймворке Flask.

Установка

Для кэширования во Flask есть модуль Flask-Caching. Он поддерживает разные виды кэшей и требует дополнительных настроек. Вместо Flask-Caching сразу установим модуль для работы с memcached. Есть много различных модулей для работы с ним. Самый популярный это pylibmc написанный на C. Я же буду использовать дальше модуль pymemcache.

Установим модуль memcached:

pip install pymemcache

Добавляем установленный модуль в файл зависимостей:

pip freeze > requirements.txt

Как установить сервис memcached на Mac OS и на memcached на Ubuntu.

Интеграция

В файле __init__.py добавляем:

from pymemcache.client import base
cache = base.Client(('127.0.0.1', 11211), timeout=60, connect_timeout=60)

Использование

from app import cache
cache.set('running', '1', expire=300)
cache_running = cache.get("running")
cache.delete("running")

где expire — необязательный параметр, который означает время жизни кэша по истечении которого он будет удален. По умолчанию 0. Указывается в секундах.

Разрешим подключение к порту

Для использования мемкэша на локалхосте (без внешнего подключения к серверу) открывать ничего не требуется. А иначе в случае использования фаервола может потребоваться разрешение.

Добавить правило в ufw можно так:

sudo ufw allow 11211/tcp # memcached

Если правило больше не нужно, его можно удалить.

Показать по номерам все правила:

sudo ufw status numbered

Удалить конкретное правило:

sudo ufw delete 4

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Кэширование на Flask"