هل هناك أي شيء خاطئ في إنشاء موقع على موقع Python Pickle الذي يعمل بالطاقة؟

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

  •  02-10-2019
  •  | 
  •  

سؤال

لقد كنت ألعب مع هذه الفكرة منذ فترة طويلة الآن ، لكنني لم أر أي معلومات عن الأشخاص الذين يقومون بذلك. لدي مشروع موقع ويب صغير حيث أحتاج إلى تحميل وتعديل كائن واحد. هذا الكائن بسيط للغاية ، ولا ينبغي أن يكون أكثر من بضعة كيلو بايت. بدلاً من تشغيل DB لهذه الكمية الصغيرة من البيانات ، لماذا لا تستخدم فقط pickle و/أو shelve لحفظ هذه البيانات ، وتحميلها؟ أخطط لاستخدام إطار ويب صغير مثل زجاجة أو قارورة للمشروع.

هل هناك أي أسباب لعدم استخدام هذه الطريقة لتحميل البيانات؟ سيتم تحميل ملف المخلل فقط في الوقت الذي يبدأ فيه Apache ، لذلك لا أعتقد أن السرعة ستتم تنفيذها (أسرع من الاستعلام عن ديسيبل).

شكرا على أي مدخلات!

هل كانت مفيدة؟

المحلول

لا يوجد سبب يمنعك من تنفيذ استمرار الكائن عبر Python القياسي ورطة أو الرف الوحدات النمطية. فقط تأكد من أن الكائنات الخاصة بك نظيفة وأمان قابلة للانتقاء. قد تصبح قابلية التوسع مصدر قلق إذا كان موقعك يتجاوز نطاقك الحالي ، ولكن حتى ذلك الحين يجب أن تعمل فكرتك بشكل جيد. إذا جاء ذلك اليوم ، فإن الخطوة الواضحة التالية هي التفكير في استخدام Python الممتاز sqlite وحدة ويأتي ذلك معبأ مسبقًا بالإصدارات الحديثة من اللغة.

نصائح أخرى

لن أكتب سلسلة مخلل إلى ملف مباشرة. هناك الكثير من التفاصيل منخفضة المستوى للقلق. الدفع دورو, Zodb, ، أو هذا المنشور من FriendFeed حول تخزين كائنات Python في MySQL.

لا تتجاهل قواعد البيانات العلائقية ، فهي تمنحك الكثير من الانفجار خارج الصندوق (حتى بالنسبة للمشاريع البسيطة).

بالإضافة إلى مشكلات التزامن التي تدركها بالفعل ، يجب عليك أيضًا التأكد من أن الملف دائمًا في حالة متسقة. على سبيل المثال ، إذا تعطل الخادم في منتصف كتابة الملف ، فماذا يحدث بعد ذلك؟ إنها حالة تحتاج إلى التفكير وتنفيذ حل إذا ذهبت إلى هذا الطريق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top