كيف يمكنني تنفيذ استراتيجية التخزين المؤقت في بلدي Asp.net Mvc مع linq2sql مخزن ؟

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

سؤال

أنا لا أعرف إذا كان ينبغي لي أن استخدام httpcontext التخزين المؤقت أو المؤسسة مكتبة التخزين المؤقت التطبيق كتلة.أيضا, ما هو أفضل نمط استراتيجية التخزين المؤقت عند حذف أو تحديث كيان هو جزء من مؤقتا القائمة ؟

يجب إزالة كل قائمة من ذاكرة التخزين المؤقت أو فقط إزالة هذا البند من مؤقتا القائمة ؟ إذا قمت بتحديث فإنه سيتم إزالة القائمة من ذاكرة التخزين المؤقت أو تحديث الكيان في ذلك.

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

المحلول

وهناك عدة طرق لتنفيذ التخزين المؤقت، httpcontext كونها أسهل واحد، ولكنها ليست بالضرورة أسوأ. نلقي نظرة على أعطها أو <وأ href = "http://blogs.msdn.com/ سرعة / "يختلط =" نوفولو noreferrer "> MS سرعة ، وكلاهما يمكن أن تستخدم الخلفيات لذاكرة التخزين المؤقت ASP.NET. خصوصا أعطها لديه سمعة يقوم بعمل جيد حقا.

وأما بالنسبة للسياسة التخزين المؤقت: عليك أن تقرر ما يعمل على نحو أفضل ل you.I شخصيا من شأنه أن يزيل قائمة كاملة من ذاكرة التخزين المؤقت على تحديث / حذف بدلا من محاولة لمعرفة ما إذا كان الكيان في القائمة، لأنه يأخذ كمية غير تافهة من الوقت وتحتاج إلى اتخاذ مشكلات التوافق في الاعتبار (قفل القائمة، منذ شخص ما قد يفعله تحديث / حذف لكيان آخر). في بعض الأحيان أنه لا معنى لتحديث وحدة في مكان (إذا كان لديك كائن كامل مع جميع البيانات التي تحتاجها)، وأحيانا انها مضيعة للوقت، لأن نتيجة لبعض الدول تغيير كيان يجب أن تتحرك في مكان آخر (على سبيل المثال عند الترتيب حسب LastChangedDate الخ.)

لا تنس أن تحسين التعليمات البرمجية DB الخاص جدا بحيث لا يأخذ الكثير من الوقت لتحديث قائمة مسح.

نصائح أخرى

بعد أن فعلت بعض التجارب مع كل من لم استعراض كامل التخزين المؤقت التطبيق كتلة في سياق رمز كتبت تجربتي معها.انها بسيطة جدا لاستخدام وقوية بما يكفي احتياجاتنا.وأود أن أوصي به ، وكانت نتائجي كتبت هنا.

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

ومجرد استخدام [OutputCache (المدة = 10، VaryByParam = "لا شيء")] على كل عمل أو حتى جهاز التحكم الذي تريد إلى ذاكرة التخزين المؤقت.

من <لأ href = "http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/improving-performance-with-output-caching-cs" يختلط = "نوفولو" > http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/improving-performance-with-output-caching-cs

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