Кэширование на 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"