Лучший способ хранить данные временно?

1

Я создаю своего рода инструмент мониторинга в Python, где я хочу сохранить определенную статистику в течение короткого периода времени. Я хочу сохранить максимум, скажем, 30 записей для стата, а для более старых записей - перезаписываться по мере поступления новых. Таким образом, сохраняются только 30 последних записей. Какой файл я должен использовать для этого (у меня будет несколько разных характеристик, все из которых я бы хотел сохранить только в своей недавней истории. Статистика обновляется через регулярные интервалы ~ 15 секунд).

Я хочу, чтобы это было в файле, поскольку данные будут обрабатываться в другой программе.

Теги:

2 ответа

2

Если вы сохраняете только небольшое количество образцов (и вам не нужны исторические данные), то самым простым решением является хранение данных в памяти. Вы можете использовать объект collections.deque, как описано здесь, для создания списка фиксированной длины, который автоматически удаляет старые элементы при добавлении новых элементов.

В ситуациях, когда вы хотите хранить данные в течение более длительных периодов времени (или вы просто хотите, чтобы он сохранялся в случае перезагрузки приложения или вы хотите получить доступ к данным из нескольких приложений и т.д.), Люди часто используют определенное время в базе серии, такие, как InfluxDB, Прометей, графит, или любые из ряда других решений.

0

Вероятно, вы хотите сохранить все это в памяти. Но если вам нужно сохранить файл, который имитирует и структуру данных (скажем, словарь), у меня был большой успех с pickle. Это легко, и это быстро.

https://pythontips.com/2013/08/02/what-is-pickle-in-python/

В качестве альтернативы более корпоративным решением будет просто хранить статистику в базе данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню