Как я могу получить все ключи из кэша flask? - PullRequest
1 голос
/ 07 февраля 2020

Я отлаживаю приложение flask и хочу посмотреть, какие значения были сохранены в моем простом кеше. Есть ли способ получить все ключи? (Как и в словаре ...

cache = Cache()
cache.init_app(app, config={"CACHE_TYPE": "simple"})

cache.set("item-1", "red")
cache.set("item-2", "blue")

# I would like to do the following:
# cache.keys()

1 Ответ

1 голос
/ 08 февраля 2020

На основе исходного кода для Flask -Кэширования (не используйте Flask -Кэш, потому что он очень устарел) ...

быть встроенным методом для получения всех значений без предоставления ключей, но для отладки вы можете сделать что-то вроде:

>>> for k in cache.cache._cache:
...  print (k, cache.get(k))
... 
item-1 red
item-2 blue

Похоже, это возвращает значение None для просроченных элементов:

item-1 None

cache.cache._cache - это словарь с фиксированными значениями.

Однако вы также должны знать, что «простой» кеш не является действительно поточно-безопасным, так как он использует только словарь для разгона. Вы должны переключиться на другой бэкэнд , такой как Redis, для более крупных приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...