Есть ли что-то не так с созданием Python Pickle Powered Saide?

StackOverflow https://stackoverflow.com/questions/3681922

  •  02-10-2019
  •  | 
  •  

Вопрос

Я играю с этой идеей вполне некоторое время, но не видел никакой информации о людях, которые делают ее. У меня есть небольшой проект сайта, где мне нужно загрузить и изменять 1 объект. Этот объект довольно прост, и не должен быть не более нескольких КБ. Вместо того, чтобы запустить БД для этого небольшого количества данных, почему бы не просто использовать pickle и / или shelve Чтобы сохранить эти данные и загрузить его? Я планирую использовать микро-веб-каркас, например, бутылку или колбу для проекта.

Есть ли какие-либо причины, чтобы не использовать этот метод для загрузки данных? Он будет загружать только маринограмму в момент запуска Apache, поэтому я не думаю, что скорость будет производиться (быстрее, чем запрашивание БД).

Спасибо за любой вклад!

Это было полезно?

Решение

Нет причин, почему вы не можете реализовать постоянство объекта через стандартный Python соленый огурец или отрезка модули. Просто убедитесь, что ваши объекты чисто и надежно подбираются. Масштабируемость может стать проблемой, если ваш сайт растет за пределами вашего текущего объема, но до тех пор, пока ваша идея должна работать просто хорошо. Если этот день придет, следующий очевидный шаг будет рассмотреть возможность использования отличного Python SQLite. модуль Это приходит предварительно упаковано с недавними версиями языка.

Другие советы

Я бы не писал маринованную строку в файл напрямую. Есть слишком много деталей низкого уровня, чтобы беспокоиться. Проверить Дюрус, ZODB., или Этот пост от друзей о хранении объектов Python в MySQL.

Не удаляйте реляционные базы данных, хотя они дают вам много взрыва прямо из коробки (даже для простых проектов).

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top