Настройка кэширования
По умолчанию, 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, специфичный для НСПД.