أفضل الممارسات من أجل التحميل و استخدام القاموس العناصر ؟

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

سؤال

أقول لدي بعض 10 "فئات" أريد أن المرجعية في التطبيق على شبكة الإنترنت.حاليا أنا تخزين هذه الفئات في DB وأنا استرجاع لهم (الفئة اسم معرف) خلال pageload في basepage, تخزينها في hashtable ثم باستخدام hashtable للإشارة إلى فئات.أدركت أن DB الدعوة التي قدمت خلال كل pageload.أنا فقط بحاجة إلى سحب هذه الفئات مرة واحدة كما أنها لم تتغير خلال دورة معينة.ما هي أفضل طريقة للقيام بذلك ؟

  1. هل ما أقوم به ، ولكن متجر على أنها تطبيق متغير ؟

  2. رمز القرص الثابت الفئات في القانون ، والقيام بعيدا مع قاعدة البيانات ؟

  3. متجر الفئات في الدورة متغير ؟ واستدعاء ديسيبل فقط إذا كانت الدورة فارغة ؟

  4. أو أي شيء آخر ؟

أنا فقط فضولي أن أعرف ما أفضل الممارسات من أجل القيام بمثل هذه الأشياء.

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

المحلول

إذا فئات المستخدم يتوقف عندها تخزينها في الدورة متغير ؛ وإلا كنت استخدم ASP.NET التخزين المؤقت وظيفة (أو يفضل توزيع التخزين المؤقت).هذا يسمح لك لتجنب ضرب قاعدة البيانات في حين يجري قادرة على التحكم في كيفية طويلة الفئات يجب أن يكون مؤقتا لفترة.

نصائح أخرى

داعيا قاعدة البيانات ليست دائما مكلفة كما يبدو, موقع نموذجي يجعل العشرات من المكالمات DB على كل pageload.ولكن إذا أصبحت مزعجة من حيث الأداء, النظر في استخدام ORM الحل.ممتازة مفتوحة المصدر NHibernate يتبادر إلى الذهن ، وهو "بحكم الأمر الواقع" معيار تعيين قواعد البيانات إلى الفئات والكائنات.ما وراء الخرائط ، فإنه يوفر تلقائيا اثنين من مستويات التخزين المؤقت و تجمع الاتصال.دون الكثير من المتاعب ، موقع الويب الخاص بك يتفوق أي الآخر بأغلبية ساحقة.

الجانب السلبي من استخدام ORM?لكثير من الناس, فهو يعتبر نوعا ما حاد منحنى التعلم.إذا كنت ترغب في قراءة هذا, تأكد من زيارة NHibernate أفضل الممارسات.قراءة صعبة في البداية ، ولكن بالتأكيد جديرة بالاهتمام.

إذا كنت الجمع بين NHibernate مع FluentNHibernate, يصبح نسيم للاستخدام.

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