У меня есть
CachedSession(backend='memory', expire_after=timedelta(days=1))
в моем коде. Это работает нормально. Но я хочу использовать данные из своего кеша, которые содержатся в моей памяти. Я искал в документе, но, к сожалению, ничего не нашел. Кто-нибудь знает, как получить данные кеша?
Вы можете использовать методы объекта CachedSession (cache_session.cache.url) для перебора всех URL-адресов, которые в данный момент кэшированы.
Вы можете использовать CachedSession.cache.urls, чтобы увидеть все URL-адреса, находящиеся в данный момент в кеше:
session = CachedSession()
print(session.cache.urls)
>>> ['https://httpbin.org/get', 'https://httpbin.org/stream/100']
При необходимости вы можете получить более подробную информацию о кешированных ответах через CachedSession.cache.responses, который представляет собой интерфейс, похожий на диктофон, для бэкенда кеша. Полный список доступных атрибутов см. в разделе CachedResponse.
Например, если вы хотите увидеть все URL-адреса, запрошенные с помощью определенного метода:
post_urls = [
response.url for response in session.cache.responses.values()
if response.request.method == 'POST'
]
Вы также можете проверить CachedSession.cache.redirects, который сопоставляет URL-адреса перенаправления с ключами ответов, на которые они перенаправляют.
Дополнительные методы-оболочки keys() и values() доступны в BaseCache для получения комбинированных ключей и ответов.
print('All responses:')
for response in session.cache.values():
print(response)
print('All cache keys for redirects and responses combined:')
print(list(session.cache.keys()))