سؤال

أقوم حاليًا بإعادة كتابة بعض أكواد PHP 4 إلى Classic ASP (لا تسأل) وأحاول معرفة ما إذا كانت هناك طريقة أفضل لتحميل خريطة كبيرة في الذاكرة بدلاً من مجرد الترميز الثابت لكل زوج.

لإعطائك فكرة، هناك حوالي 300 زوج من القيمة الرئيسية الفريدة في تعريف المصفوفة المجزأة (أو ما يطلق عليه) في PHP.
أميل إلى القيام بذلك مرة أخرى في ASP مثل:

<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>

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

شكرا لمساعدتك.

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

المحلول

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

وكل خير

نصائح أخرى

إذا كنت تستخدم ASP الكلاسيكي، فسيتعين عليك الاعتماد على أحد هذه الكائنات.يعد استخدام جدول قاعدة البيانات أو XML من الخيارات الأخرى التي يمكنك استكشافها.

أود أن أقترح عليك التأكد من عدم الاتصال بهذا مرارًا وتكرارًا إذا كنت تستخدم هذا لحوالي 300 عنصر.

ولقد وجدت للتو عن مخبأ ASP العالمي الذي من شأنه أن يسمح لي لبناء خريطة مرة واحدة، ووضعها في ذاكرة التخزين المؤقت وأي طلب في المستقبل يمكن ببساطة تخلعها من ذاكرة التخزين المؤقت. يقام ذاكرة التخزين المؤقت في الذاكرة لذلك ينبغي زيادة الأداء بشكل كبير.

<%
Application.Contents(object here)
%>

وهتاف

ومثل يقول شار، تخزين الكائن القاموس في كائن التطبيق.

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