Настройка кэширования

По умолчанию, pynspd не кэширует результаты запроса. Однако, благодаря превосходной библиотеке Hishel, мы можем активировать его всего за пару строк:

from hishel import FileStorage

storage = FileStorage(base_path='my_storage')
client = Nspd(cache_storage=storage)

Теперь каждый результативный запрос (будь то ответ с объектом или ответ об отсутствии объекта), будет сохранен в папке my_storage внутри проекта.

Кроме хранения на диске, в Hishel реализовано несколько видов хранилищ - pynspd поддерживает каждый из них:

Сторонние библиотеки для хранилищ

Для некоторых типов хранилищ (например, Redis или асихронный SQLite), потребуется установить дополнительные библиотеки, о чем Hishel сообщит при попытки использования

О использовании hishel.Controller в pynspd

В Hishel есть три ключевых понятия: Storage, Serializers, Controller. И если первые два всегда зависят от предпочтения конечного пользователя, то Controller чаще всего специфичен для каждого конкретного сайта. Поэтому в pynspd уже заложен Controller, специфичный для НСПД.