مجتمع سوالف سوفت: شكل ومفهوم جديد للمنتديات
من الموقع: نظرة عن قرب الى منتجات DMP التايوانية

 

العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ الإنضمام: Jan 2008-
#26  

= اخي بداية استخدامي للنصوص في التعامل مع الرام تم التوصل اليها + تجميعها على سرفرات حقيقية موجودة على الانترنت وعليها ضغط عالي من الزوار.
و على مواقع متوسطة لها قواعد بيانات بداخلها 45+ الف عضو و ايضا جداول في بعضها اكثر من 100+ الف record . ان ام تخني الذاكرة


وطالما انك تتعامل مع سيرفر فمن السهل جدا ان تطلع على بيانات الاستخدام و تعرف المقدار المرجو لاستخدام البرنامج من الرام
و تقدير استهلاكه للبروسيسور، طبعا بعد فصل الملفات التي غير HTML و الXML وال XSL على حسب استخدامك.
ثم يمكنك استخدام جهاز virtual بنسبة شير تحددها للبروسيسور و قطعة الرام،
وهذا ما اختبر عليه كل شيء حاليا قبل رفعه .. لن اذكر شيء اضافي لان هذا ليس مجال حديثنا ولن يفيد.



= بخصوص الانتقال كلية لتخزين الكاش على قاعدة البيانات بامكانك ان تسميه "خطأ" وانا معك في ذلك.
لكن هذا كان سنة 2006 وبامكانك تخيل مدى قلة المعلومات والتجارب في هذا المجال وقتها.

اذا اردت المقارنة في "التخزين على الرام" فقارن بين استخدام المصفوفات X استخدام النصوص
الذي اعتمد عليه حاليا عند التخزين على الرام كما ذكرت في ردي السابق.



= لا يجب الاعتماد على الرام كلية و هذا تجده عند المواقع التي عليها ضغط من الزوار سوف تقتصد في استخدام الرام..
عن نفسي ادمج بين انواع التخزين فعلى سبيل المثال وليس الحصر:

- هناك صفحات ستاتيك تماما يتم تحويل الزائر لها وتكونها بالكرون.
- وهناك صفحات تستدعي اجزاء استاتيك من الرام واخرى من صفحات اخرى.
- وايضا هناك fetching لنتائج استعلامات و اعادة تخزينها في جداول لسهولة جلبها.
- وهناك خرائط للسكشنز والاكشنز الخاصة بها و طريقة عرضها في الرام.
- وتخزين بيانات دخول لمستخدمين معينين واعدادات اللغة في الرام على شكل نصوص وترك آخرين.


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






__________________
Don't judge each day by the harvest you reap, but by the seeds you plant.
Robert Stevenson

آخر تعديل بواسطة mr_m في 15-04-2009 الساعة 11:16 PM.
mr_m is offline   قديم 15-04-2009, 11:13 PM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#27  

إقتباس:
المشاركة الأصلية بواسطة mr_m مشاهدة مشاركة
= اخي بداية استخدامي للنصوص في التعامل مع الرام تم التوصل اليها + تجميعها على سرفرات حقيقية موجودة على الانترنت وعليها ضغط عالي من الزوار.
و على مواقع متوسطة لها قواعد بيانات بداخلها 45+ الف عضو و ايضا جداول في بعضها اكثر من 100+ الف record . ان ام تخني الذاكرة


وطالما انك تتعامل مع سيرفر فمن السهل جدا ان تطلع على بيانات الاستخدام و تعرف المقدار المرجو لاستخدام البرنامج من الرام
و تقدير استهلاكه للبروسيسور، طبعا بعد فصل الملفات التي غير HTML و الXML وال XSL على حسب استخدامك.
ثم يمكنك استخدام جهاز virtual بنسبة شير تحددها للبروسيسور و قطعة الرام،
وهذا ما اختبر عليه كل شيء حاليا قبل رفعه .. لن اذكر شيء اضافي لان هذا ليس مجال حديثنا ولن يفيد.



= بخصوص الانتقال كلية لتخزين الكاش على قاعدة البيانات بامكانك ان تسميه "خطأ" وانا معك في ذلك.
لكن هذا كان سنة 2006 وبامكانك تخيل مدى قلة المعلومات والتجارب في هذا المجال وقتها.

اذا اردت المقارنة في "التخزين على الرام" فقارن بين استخدام المصفوفات X استخدام النصوص
الذي اعتمد عليه حاليا عند التخزين على الرام كما ذكرت في ردي السابق.



= لا يجب الاعتماد على الرام كلية و هذا تجده عند المواقع التي عليها ضغط من الزوار سوف تقتصد في استخدام الرام..
عن نفسي ادمج بين انواع التخزين فعلى سبيل المثال وليس الحصر:

- هناك صفحات ستاتيك تماما يتم تحويل الزائر لها وتكونها بالكرون.
- وهناك صفحات تستدعي اجزاء استاتيك من الرام واخرى من صفحات اخرى.
- وايضا هناك fetching لنتائج استعلامات و اعادة تخزينها في جداول لسهولة جلبها.
- وهناك خرائط للسكشنز والاكشنز الخاصة بها و طريقة عرضها في الرام.
- وتخزين بيانات دخول لمستخدمين معينين واعدادات اللغة في الرام على شكل نصوص وترك آخرين.


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

فأنت تقول أن تخزين البيان في الذاكرة كان أبطأ من جلبه من قاعدة البيانات
كيف ذلك والبيان اصلا حينما تطلبه من قاعدة البيانات يتم نقله للذاكرة ليبدأ التعامل معه !!
يعني هذه الخطوة ما هي إلا خطوة من خطوات التعليمة التي لا بد أن تمر بها وأنت بذلك وفرت كل الخطوات وأستخدمت خطوة واحدة

هذا هو الخطأ اللي احببت توضيحه ولو تريد توضيح أكثر لعمل تعليمات السكول سأسرد لك القصة كله من أول إقلاع نظام التشغيل حتي أنظمة ال DBMS والتي درستها في مادتين للداتا بيز في الكلية أيضا إلخ لتعلم اللعبة

تخزين بيان في الذاكرة لإستخدامه بدلاً من تطبيق تعليمة سكول هو عملية تحدث في التعليمة نفسها وأنت تكون وفرت زمن الترجمة للتعليمة والتنفيذ لها علي الهارد ديسك وجلب البيان من الهارد ديسك لنقله للذاكرة ليصبح في الأخر في الذاكرة وهي الخطوة التي نستخدمها في الكاش ونستغني عما قبلها كله مع زيادة أيضا وهو جعل ذلك البيان موجود مرة واحدة في الذاكرة بدلاً من جلبه مع كل زائر وتخزينه في address مختلفة من الذاكرة ( أنظمة ال DBMS المتقدمة لا تفعل ذلك ولكن لو كانت التعليمة ونتائجها نفسها ولانتائج في الذاكرة فهي ترسل النتائج ولكن هذا يتم بمقياس زمني يعتمد علي إعدادات حتي لا يحدث أخطاء )

مع العلم أن نظام التخزين في الذاكرة وتحديد ال address كان مجال دراسة لنا في مادتين أيضا مع معالج 8086 ثم جهاز الماري والمانو وكيفية تحديد الأدريس وتخزين البيانات وأيضا درسنا دراسة بسيطة للأسمبلي ليكون تطبيق عملي مع ما درسناه في الهاردوير

فإذا كان بإمكانك أن تتحكم أنت بالأمر بتدخل بشري منك في ناتج تعليمة معينة فهذا أمر رائع ولهذا وجدت مسرعات ال php وأوجدت تلك الخاصة لكي تسمح لك بعمل ما لا يمكن لأنظمة الداتا بيز عمله لأنها لا تعلم إن كان ذلك الناتج قابل للتحديث أم لا وما مدي ذلك






__________________
برامج
محب الله ورسوله is offline   قديم 15-04-2009, 11:26 PM
الرد مع إقتباس
عضو نشيط جدا
تاريخ الإنضمام: Jan 2008-
#28  

اخي هل تعني انك مثلا لكي تعمل تحقق لل login لزائر مثلا هل سوف تتحقق منه عن طريق جلب 50000 مصفوفة
من الرام و البحث عن اسمه فيها ثم مقارنة معلوماته ؟ أم سوف تتحقق عنه باستعلام SQL ؟

وايضا ماذا عن هيئة وشكل تخزين البيانات على الرامة؟

وهل تفضل تخزين كل بيانات الكاش على الرام بدون استخدام اي شيء اخر؟


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






__________________
Don't judge each day by the harvest you reap, but by the seeds you plant.
Robert Stevenson
mr_m is offline   قديم 16-04-2009, 12:02 AM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#29  

إقتباس:
المشاركة الأصلية بواسطة mr_m مشاهدة مشاركة
اخي هل تعني انك مثلا لكي تعمل تحقق لل login لزائر مثلا هل سوف تتحقق منه عن طريق جلب 50000 مصفوفة
من الرام و البحث عن اسمه فيها ثم مقارنة معلوماته ؟ أم سوف تتحقق عنه باستعلام SQL ؟

وايضا ماذا عن هيئة وشكل تخزين البيانات على الرامة؟

وهل تفضل تخزين كل بيانات الكاش على الرام بدون استخدام اي شيء اخر؟


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

ولتفهم ما قصدته بالكاش اللي شرحته
لديك مجموعات الأعضاء
حينما تريد بيانات العضو الفلاني وصلاحيته طبقاً لمجموعته
تذهب وتجلب مجموعته فقط

ولكن في حالتي تخزن كل المجموعات في مصفوفة في الرام

هنا ستقول لي إذا الأفضل جلبها سأخبرك لا
لأنه في نفس الوقت هناك عشرات الأعضاء من أماكن مختلفة دخلوا وتجلب لهم بيانات مجموعاتهم

هنا لديك الأن 100 زائر في الموقع من 50 مجموعة مختلفة
كل عضو منهم جلبت له بيانات مجموعة عضويته وخزنتها في address مختلفة في الذاكرة لتبدأ التعامل مع محتواها بعمليات البرمجة ( المنطقية والحسابية )
طيب هذا يعني أنك جلب معلومات مجموعة العضوية الفلانية مثلا 80 مرة وخزنتها مكررة 80 مرة وأجريت لها في ذلك الوقت 80 تعليمة سكول لنقلهما للذاكرة

فتوفر هذا كلاه وتجعل المصفوفة كلها في الذاكرة مرة واحدة فقط فتكون

1- وفرت مساحة الذاكرة بشدة من تكرار بيانات المجموعات
2- وفرت عملية الترجمة للسكول


هل وصلت الفكرة ؟
ما تنقله للذاكرة هو ما تريده فقط فلما مع كل زائر تنقله للذاكرة
خليه هناك
=======================================
علي الهامش

بشكل مختصر جدا
كل ما يقوم به المعالج من عمليات يقوم في أول عمله بنقلها للذاكرة والتعامل معها عن طريق الجسر الشمالي
ولهذا فالشركات من إنتل ل amd تحاول توفير سرعة نقل أفضل
ومتحكم الذاكرة اللي كان مدمج في المعالج من أول المعالج athelon ولم يكن مدمج في معالجات إنتل وبدأت بدمجه من أول المعالج core i7 هو المتحكم في أماكن البيانات في الذاكرة ونقلها إلخ

طيب ماذا يحدث لو كان هناك بيان كثير الإستخدام من قبل المعالج
يعني بيان طلبت عمل أس له ( عمليات الاس أو الفلوتينج بوينت هي أكثر العمليات إرهاق للمعالج ويتم بها قياس قدرة المقالج والتفرقة بينها )
يقوم المعالج بنقل البيان من الذاكرة البعيدة لذاكرة الكاش القريبة والتي تكون أسرع بكثير ويختلف حجمها من معالج لأخر بل ويختلف طريقة إستخدامها من شركة لأخري
في amd يوجد مستويين للكاش l1 و l2
وتزيد إنتل في المعالجات الجديدة ب l3
كل مستوي يكون أقرب للذاكرة وأقل حجماً ويكون أكثر سرعة وتكلفته أعلي

فكرة نقل البيان من الذاكرة للكاش الخاص بالمعالج هي نفسها فكرة نقل البيان من قاعدة البيانات لديك للذاكرة كون الذاكرة أسرع

لو تريد سرد تفصيلي من أول فتح الحاسوب وما يقوم به البايوس وتحميل كيرنل النظام في الذاكرة إلي الفرق بين الذاكرة وما فيها وما يتم نقله للذاكرة الإحتياطية علي الهارد ( swap في حالة لينوكس ) إلخ فقط أمر أخي

سأحاول بإذن الله شرح الأمر فهو مفيد جدا للمبرمجين لأنه فيه كلام عن ال DBMS خاصة وأن المتطور منها يمكنه أن يضع بيانات داخل الكاش ميموري للمعالج ويتحكم في كل بيان داخل وخارج من المعالج ويخصص bit لتحديد ما كانت المتغير الفلاني حدث عليه تغيير أم لا

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

هنا تستخدم ال transaction وكل هذه العمليات تعتمد بشدة علي فهم ما يتم علي الرام وما يتم علي الهارد ديسك

طيب ماذا لو لم تنقطع الكهرباء ولكن حدث عطب في الهارد ديسك ولم تكن البيانات الخاصة بأخر 5 دقائق نقلت للنظام العام للبنك ؟

طيب ماذا لو كنت عند شباك وتسحب فلوس وفي نفس اللحظة يقوم موظف اخر بإضافة فلوس لك في الحساب
فسحب الموظف الأول مبلغك من قاعدة البيانات وهو 2000 جنية ثم سحب الموظف علي الشباك الأخر ال 2000 جنيه أيضا
ثم قام الموظف الجديد بطرح 1000 جنيه سحبتها فأصبح المبلغ الجديد 1000 جنيه
لأن صار الموظف الثاني لديه بيان يقوم أن حسابك 2000 جنيه وهذا خطأ
وبالتالي أي عملية يقوم بها يقوم بها علي رقم خاطئ
هنا يجب أن موظف الشباك الأول كان يغلق علي بيانك في قاعدة البيانات حينما سحبه وحينما يأتي الموظف الثاني لسحبه يخبره النظام أن المتغير مغلق

طيب هل يغلقه قراءة وكتابة أم كتابة فقط ؟
طيب لو الموظف الثاني طلبه وتم الرفض هل يطلبه مرة أخري أم يتم تعليمه علي طابوم طلبات مطلوب للمتغير الفلاني ليتم إعطاءه له أو ما يتم فك الإغلاق ؟

الداتا بيز أكبر بكثير من ان تكون مجرد تعليمة سكول

خلاصة القول وبشكل عملي
طلبت تنفيذ تعليمة ستجلب من 5 جداول بإستخدام ال join
يتم تنفيذ ما طلبت علي الهارد ديسك وتكوين جدول جديد فيه ما طلبت وذلك عن طريق mysql_query()
الأن يتم نقل هذا الجدول للذاكرة
ثم يمكنك أن تتعامل معه طوال الفترة الباقية للصفحة من خلال الذاكرة
سواء mysql_fetch_assoc() أو عد عدد الصفوف إلخ
كل هذه تتم علي البيانات التي جلبتها لتوك للذاكرة وهذا لتسريع العمل
ولكن لو ظلت علي الهارد فسيكون الأمر مرهق جدا في كل تنفيذ علي النتائج

هل وصلت الفكرة ؟






__________________
برامج
محب الله ورسوله is offline   قديم 16-04-2009, 12:42 AM
الرد مع إقتباس
عضو نشيط جدا
تاريخ الإنضمام: Jan 2008-
#30  

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

إقتباس:
لا أخي ما أقصده أنك حينما تطلب مثلاً بيانات العضو رقم 5
يتم ترجمة تعليمة السكول من خلال المعالج عبر المترجم الخاص بال DBMS والذي يحمل نفسه للذاكرة مع الكيرنل الخاص بالنظام
بعد الترجمة تذهب للهاد باحثة عن الجدول المطلوب
بعد إيجاده يتم نقله للذاكرة
ثم يبدأ المعالج في تنفيذ ما تريده علي بيانات ذلك العضو بينه وبين الذاكرة

ولتفهم ما قصدته بالكاش اللي شرحته
لديك مجموعات الأعضاء
حينما تريد بيانات العضو الفلاني وصلاحيته طبقاً لمجموعته
تذهب وتجلب مجموعته فقط

ولكن في حالتي تخزن كل المجموعات في مصفوفة في الرام

هنا ستقول لي إذا الأفضل جلبها سأخبرك لا
لأنه في نفس الوقت هناك عشرات الأعضاء من أماكن مختلفة دخلوا وتجلب لهم بيانات مجموعاتهم

هنا لديك الأن 100 زائر في الموقع من 50 مجموعة مختلفة
كل عضو منهم جلبت له بيانات مجموعة عضويته وخزنتها في address مختلفة في الذاكرة لتبدأ التعامل مع محتواها بعمليات البرمجة ( المنطقية والحسابية )
طيب هذا يعني أنك جلب معلومات مجموعة العضوية الفلانية مثلا 80 مرة وخزنتها مكررة 80 مرة وأجريت لها في ذلك الوقت 80 تعليمة سكول لنقلهما للذاكرة

فتوفر هذا كلاه وتجعل المصفوفة كلها في الذاكرة مرة واحدة فقط فتكون

1- وفرت مساحة الذاكرة بشدة من تكرار بيانات المجموعات
2- وفرت عملية الترجمة للسكول


هل وصلت الفكرة ؟
ما تنقله للذاكرة هو ما تريده فقط فلما مع كل زائر تنقله للذاكرة
خليه هناك
طيب انت ذكرت تعامل الداتابيس مع داتا ولم تذكر تعامل PHP مع ال 50000 مصفوفة المخزنة في الرام
والتي تقوم بفك ال serializing لها ثم تعمل لها declaring في كل طلب للصفحة -ولا يخزن المسرع الا ال intermediate code للصفحات فقط-
اي ان المصفوفات سيتم معالجتها ووضعها في جدول المتغيرات في الرام ثم يبحث داخل ال 50000 عنصرر في المصفوفة ليخرج لك مصفوفة تتعامل معها.

بمعنى انك طالما طلبت المصفوفات سوف يتم تعريفها في PHP و البحث فيها مع كل تنفيذ للكود..
ترى هل هذه العملية اسرع ام البحث في الداتابيس؟

وبخصوص طريقة تعامل MySQL مع الداتا وفرزها هل يعقل انه لو عندك جدول 500 ميجا انها تنقله للرام؟ ومع كل يوزر

لا بالطبع عزيزي ما اعرفه انها تبحث فقط ضمن الحقل المحدد لها وهو هنا ال username ولا اعرف ان كانت تنقله للرام كاملا ام لا.
و ايضا لا يتم التحقق من كل ال entries الموجودة به -حيث يتم فرزها وترتيبها اثناء عملية التخزين- ثم البحث بداخلها.
ثم بعد النجاح تحدد الاجزاء التي طلبتها من الجدول وترجعها لك.. لكن لا اعتقد ان الجدول ينقل كاملا للذاكرة.


* وعلى كل ساقتبس لك سطر من ردي قبل السابق
إقتباس:
- وتخزين بيانات دخول لمستخدمين معينين واعدادات اللغة في الرام على شكل نصوص وترك آخرين.
ويتم وضع ال rules لهم بناء على تحليل اخر اوقات الدخول.



* لكنك لم تجب على باقي اسئلتي
إقتباس:
وايضا ماذا عن هيئة وشكل تخزين البيانات على الرامة؟

وهل تفضل تخزين كل بيانات الكاش على الرام بدون استخدام اي شيء اخر؟
-------------
اما ما هو مكتوب على الهامش فسوف اقرأه بتأني لأعلق عليه.






__________________
Don't judge each day by the harvest you reap, but by the seeds you plant.
Robert Stevenson
mr_m is offline   قديم 16-04-2009, 01:41 AM
الرد مع إقتباس
عضو سوبر نشيط
تاريخ الإنضمام: May 2007-
#31  

إقتباس:
المشاركة الأصلية بواسطة المجروح مشاهدة مشاركة
لا وقت ولا شئ أخي انت تخزن في الذاكرة بيانات بعد عمل serialize لها لحمايتها من أي تغير فيها
مثلا جلبت بيانات جروب الأعضاء في الموقع مع كل خياراتها في مصفوفة كبيرة
اعمل لها serialize وخزنها في الإكس كاش

الأن حينما تأتي لدالة جلب البيانات اللي تكتبها في أول الصفحة خلي فيها شرط
لو البيان موجود في الذاكرة ( عندك دالة isset خاصة بالإكس كاش كما تري ) يجلب من الرام
ولو غير موجود يجلبها بتعليمة سكول ويخزنها في الرام متفقين ؟

طيب متي نحدث البيانات ؟
هكذا ستظل في الرام دائماً

أكتب لنفسك دالة وظيفتها كل ما تناديها تقوم وحدها بعمل تعليمة السكول تلك وتخزين الناتج في الرام ( تعمل unset للبيانات في الذاكرة وتعمل تعليمة السكول وتعيد تخزينها )

ونادي دالتك هذه في كل مكان فيه تحديث للجروبات

بمعني حينما تدخل كمشرف عام للوحة التحكم وتقوم بإضافة مجموعة جديدة ضع مناداة الدالة في أخر مكان لتلك ال action وهي الخاصة بتخزين بيانات المجموعة الجديدة

ايضا ضعها في أخر الأكشن الخاصة بعمل update لمجموعة

هذا المقصد من الكاش اللي نغيره بالأكشن وهذا من الممكن أن يمر يوم كامل علي موقعك لا يتم عمل أية تعليمات سكول
بعكس شخص أخر يجيب الجروبات دائما من قواعد البيانات مع كل زائر فلو لديه 50 ألف صفحة مستعرضة في اليوم تكون أنت وفرت 50 ألف تعليمة سكول ( هذا غير أن تلك المصفوفة كبيرة جدا وستشغل حيز كبير جدا في الذاكرة لكل زائر كل فترة لهذا فأنت وفرت في الذاكرة أيضا )

أما الكاش الخاص بالزمن فخزن في الذاكرة وأكتب له دالة أيضا
وعن طريق الكرون نادي الدالة كل ساعة أو كل وقت حسب ما تريد

بإختصار خصص لنفسك صفحة لدوال الكاش ضع فيها دالة خاصة لكل نقطة هامة في برمجيتك تحتاج فيها لكاش وناديها حسب ال action أو حسب الزمن من خلال الكرون

============
ملحوظة أخواني
ركبت الأكس كاش علي السيرفر وبعده مباشرة قل إستهلاك الذاكرة لدي من 58% تقريبا ل 34% كمتوسط
وهذا أمر أكثر من رائع
جزاك الله خيرا اخي المجروح ..
ساقوم بالتطبيق و التجربة






__________________
Islam sharaf
إسلام شرف

آخر تعديل بواسطة مهندس مصرى في 16-04-2009 الساعة 03:05 AM.
مهندس مصرى is offline   قديم 16-04-2009, 03:03 AM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#32  

إقتباس:
50000 مصفوفة المخزنة
!!!!!!!!!!!!!!!
انا أخبرك عن المعلومات المهمة
يجعني جروبات الأعضاء ( هذه مصفوفة )
التصنيفات ومعلوماتها ( هذه مصفوفة )
ملف اللغة ( هذه مصفوفة )
خيارات الموقع ( هذه مصفوفة )

كلهم ما يزيدو عن 9 ويكون حجمهم بالكثير جدا 5 ميجا يوم ما تكون مليان وملف اللغة بالألوف
خليتهم فجأة 50 ألف !!
ثم هذا ما يقوم به الهاك الرائع vboptimize لمنتديات الفيبولتن حيث يحول ملف اللغة والخيارات وكله للذاكرة مستخدما ال xcache فمن أين حكمت أنها طريقة خاطئة والكثير من المبرمجين المحترفين صاروا يستخدموها ؟
هل تعتقد أني جايب شئ من عندي أخي ولا مخترع شئ
كل هذا جلبته من الفيبولتن وهاكاتها وكلها أفكارة موجودة فعلياً في الفيبولتن التي لها كلاسات للتعامل مع 5 أنواع من الكاش

xcache
apc
eaccelerator
تخزين مباشر في الذاكرة
الملفات

وهو ما يستخدمه أيضا vbseo

إقتباس:
بمعنى انك طالما طلبت المصفوفات سوف يتم تعريفها في PHP و البحث فيها مع كل تنفيذ للكود..
ترى هل هذه العملية اسرع ام البحث في الداتابيس؟
بالطبع هذه
أسرع بعشرات الأضعاف
يا عزيزي أنت حينما تحمل بيانات ملف اللغة من الداتا بيز يتم نقل البيانات للذاكرة أصلاً
لا تجادلني في أمر لم تدرسه ولم تعلم عنه شئ
أسأل أي مبرمج مبتدئ أيهما أفضل
تنفيذ 50ألف تعليمة سكول في اليوم
أم تنفيذ 0 !!
نعم جلب مجموعات الأعضاء والتصنيفات وغيرها مع كل زيارة هو أمر لا يقوم به الأن سوي المبتدئين مع إحترامي لهم

إقتباس:
وبخصوص طريقة تعامل MySQL مع الداتا وفرزها هل يعقل انه لو عندك جدول 500 ميجا انها تنقله للرام؟ ومع كل يوزر
شرحت لك 3 مرات وأنت لم تفهم وهذه ليست مشكلتي
قلت لك أنك حينما تطلب تعليمة لجلب بيانات العضو رقم 5
يتم البحث في قاعدة البيانات علي الهارد
ثم نقل جدول العضو رقم 5 فقط للذاكرة
يعني الجدول الناتج والموجود فيه إسمه وبريده إلخ

هل فهمت أم أشرها بلغة أخري !!

إقتباس:
لا بالطبع عزيزي ما اعرفه انها تبحث فقط ضمن الحقل المحدد لها وهو هنا ال username ولا اعرف ان كانت تنقله للرام كاملا ام لا.
ناتج الكويري يتم نقله علي الفور للذاكرة لتبدأ اللغة التي تستخدمها وهي في حالتنا php بالتعامل مع ذلك الناتج بالعمليات المنطقية والحسابية المطلوبة
ثم بعد الإنتهاء تقوم أليا ( ليس كل ال DBMS ) بتفريغ الذاكرة من ذلك الناتج
ولهذا فأنت تقوم بعمل free بعدما تنتهي من الكويري لتقوم بتفريغ الذاكرة من المحتوي
لما تفرغ الذاكرة ما دامت البيانات تأتي من الهارد !!

لهذا سألت من قبل الأستاذ العزيز عبدالله عيد هنا عن هل أقوم بعمل free أم لا قال لي لا تهتم فكلاس التعامل مع ال mysql في ال php تقوم بذلك ألياً

لا أدري كيف شئ مبدأي في عالم البرمجة مثل هذا ولا تعرفه رغم أني أعتبرك من أصحاب الخبرة !!

إقتباس:
ثم بعد النجاح تحدد الاجزاء التي طلبتها من الجدول وترجعها لك.. لكن لا اعتقد ان الجدول ينقل كاملا للذاكرة.
هات لي نص واحد قلت فيه ان الجدول كله ينقل للذاكرة
قلت لك الجدول الناتج
يعني جرب تدخل phpmyadmin
وتنفذ تعليمة فيها join تجلب من أكثر من جدول
ستجد ال phpmyadmin أظهر لك جدول جديد طويل جدا فيه كل البيانات
هذا الجدول الظاهر أمامك موجود في الذاكرة الأن ويتم التعامل معه من الذاكرة ويمكنك تحميل محتواه داخل مصفوفة ( هذه المصفوفة ستكون في الذاكرة أيضاً ) ثم تفرغ محتوي الكويري ( والذي سيفرغ المحتوي من ال address القديم ومعه بيانات تلك الكويري والتي يخزنها ال DBMS ) ويصبح لديك مصفوفة واحدة وهي ما حملت فيها الناتج ولا تحمل معها أية بيانات أخري

هذه المصفوفة يمكنك تخزينها بشكل دائم في الذاكرة لو كانت كثيرة الجلب من قاعدة البيانات
هذا هو ما قصدته
فقط المصفوفات كثيرة الجلب مثلما تفعل البرمجيات المتقدمة

مثل ملف اللغة
القوالب لو كانت في قواعد البيانات
المجموعات
الخيارات
التصنيفات
الهووك بأسمائها وارقامها

إلخ

كلها ما تزيد عن 10 مصفوفات يتم جلبها بكثرة رغم ان محتواها لا يتغير إلا نادراً فلتوفير تكرار تعليمات السكول كل مرة يتم تركها في الذاكرة بشكل دائم بواسطة المسرعات او تخزينها علي الهارد بواسطة كاش الملفات ( الأولي ستكون أسرع بالطبع )

إقتباس:
وايضا ماذا عن هيئة وشكل تخزين البيانات على الرامة؟

وهل تفضل تخزين كل بيانات الكاش على الرام بدون استخدام اي شيء اخر؟
لم أفهم !!
عموما تعاملي مع الكاش وحسب الخبرة التي اكتسبتها من تلك البرمجيات يكون بنوعين

النوع الأول وهو المعلومات كثيرة الولوج وقليلة التحديث وهي التي ذكرتها بالأعلي
هذه أخزنها في الذاكرة بواسطة xcache ثم أكتب لكل واحدة منهم دالة تحديث وأناديها وقتما يحدث عليها تحديث ( هم يفعلون ذلك ولو تريد أسماء الدوال أجلبها لك )

ثم البيانات متوسطة الولوج مثل الإحصائيات فهيه أخزنها أيضا في الذاكرة كونها لا تتعدي الكيلو بايت في حجمها وأكتب لها دالة أناديها كل زمن محدد وليكن كل ساعه فأوفر عمل تعليمة سكول لجل إحصائيات الموقع تحدث كل زيارة لفقط 24 مرة في اليوم
فبدلاً من 50000 مرة تكون 24 مرة !!

أما قليلة الولوج فهذه أتركها تعليمة سكول وممكن أتفنن قليلاً وأستخدم نظام الملفات خاصة لو كانت المعلومات كثيرة
فمثلاً موقع أخبار الزيارات تكون أكثر علي الأخبار الجديدة فأخلي الأخبار الجديدة فقط يتم تكيشها علي الهارد ولمدة محددة وليكن يوم

التعامل يكون علي حسب كل كويري علي حدي

مع العلم أني وجدت نظام أخر تستخدمه البرمجيات الكبيرة
وهو البعد التام عن تعليمات السكول update وإستخدام جداول إفتراضية
فبدلاً من تحديث بيانات الموضوع مع كل زائر في كل زيارة
يتم مع كل زائر يدخل عمل تعليمة insert في جدول إفتراضي
هذه التعليمة يكون فيها رقم القسم اللي تم زيارته
ورقم الموضوع
وإسمه و ال ip إلخ مع الزمن الحالي اللي أدخلت فيه التعليمة لقاعدة البيانات

وكل ساعه عن طريق المهام يتم جلب البيانات من هذا الجدول
ومعالجتها بالبرمجة لتحديد كل قسم تم زيارته كم مرة وكل موضوع كم وكل عضو كم فينتج لنا القسم الفلاني تم زيارته الساعه السابقة 15 مرة
فنزود إحصائيات القسم دفعة واحدة ب 15 في تعليمة واحدة

هذا النظام موجود في كل البرمجيات الإحترافية ويكون إختياري
مثلا الفيبولتن موجود فيها ولكنه بخيار من لوحة التحكم ومكتوب في وصفه ( ينصح به للمنتديات الكبيرة )


فهناك أيضا لتقليل الحقول في الصلاحيات إستخدام الارقام ال binary لما تتمتع به من الثنائية ( إما 0 أو 1 ) فيمكنك إستخدامها في الصلاحيات yes - no
وهناك الكثير فقط قلب البرمجيات المشهورة والعالمية لتتعلم منهم

لدي الكثير لأقدمه لكن لو كل معلومة سيتم مجادلتها بهذه الطريقة لمجرد رفضها فأعتقد أني سأمل بشكل مبكر !!
خاصة وأن خبرتي ليست كبيرة فعمري في البرمجة لا يتجاوز ال 8 أشهر وليس لدي طول النفس الموجود عند أصحاب ال 5 سنوات خبرة






__________________
برامج
محب الله ورسوله is offline   قديم 16-04-2009, 03:20 AM
الرد مع إقتباس
عضو فعال جدا
تاريخ الإنضمام: Aug 2004-
#33  

الأخ المجروح،

اعتقد ان الاخ mr_m كان يقصد شي اخر غير اللي جاوبت عليه

الاخ mr_m يقصد أيهما اسرع:
1-استخراج مثلا اسماء المشرفين من مليون سجل عن طريق البي اتش بي بحيث يكون المليون سجل موجوده كمصفوفه في كود البي اتش بي ((طبعا هذا مجرد مثال لان في الواقع مستحيل مليون سجل في كود))
2- استخراج اسماء المشرفين من مليون سجل عن طريق امر SQL

طبعا في هذه الحاله واضح ان الاستخراج عن طريق امر SQL اسرع بكثير.

انا ماحب اشوف النقاش ينتقل الى جدال ياأخوان، لذلك حبيت اوضح واتمنى نشوف هالموضوع يزداد حلاوه بمشاركاتكم.

بالمناسبة من اسباب البطء في منتديات vbulletin هو بعض الـ SQL queries والتي وجدت معالجتها تحتاج أكثر من ثانيتين!
مثلا الأمر هذا
كود PHP:
### 127 Queries 
### Total time: 280, Average time: 2.20472440944882
### Taking 2  to 5  seconds to complete
### Rows analyzed 41617 - 41626
SELECT threadid,title,postusername,forumid,lastposter  FROM  thread WHERE forumid NOT IN (XXX,XXX,XXX,XXXXXXORDER BY lastpost DESC LIMIT XXX






PHP Expert is online now   قديم 16-04-2009, 04:14 AM
الرد مع إقتباس
عضو نشيط جدا
تاريخ الإنضمام: Jan 2008-
#34  

* هناك مشكلة اخي العزيز في انك لم تقرأ الرد كله وترد في ضوء ما به كله..
او في اني لم احسن الطرح لقلة الخبرة في الكتابة .. لانك لو اخدت عدد ردودي هنا في سوالف اجمع عليها 15 رد آخرين في موقع اجنبي.
وستكون هذه حصيلة تواجدي على المنتديات بكل انواعها .. فانا افضل القراءة عليها

* عند قراءة النصف الاول من ردك كنت عزمت على ترك النقاش من الاساس نظرا لاني كنت "باتكلم صيني".
والنصف الاخر يوحي بان هناك امل في القاء بعض النصائح ..

لكن حصل خير ..

* هناك فقط نصيحة لمن اراد تعلم الكاشنج بمعناها الحقيقي او سأل نفسه لماذا صفحات مواقع مثل Eacebook سريعة،
بان يقرأ كتب متخصصة في هذا الغرض -ربما لا تكون حتى لPHP لان ما يهم هو التقنية
وعندما يتوسع ستتضح حقائق كثيرة منها :

- ان ما تحتثنا عنه في هذا الموضوع الى الان هي طرق تقليدية جدا جدا لعمل الكاشنج.
- بعض البرامج التي يطلق عليها العرب احترافية مثل vb فيها كوارث ان صح التعبير في الاوبتمايزنج والكاشنج. والروتين الذي تمت برمجتها فيه.
- ربما يعرف معنى ال System Analysis لمواقع الويب و خرائط الكاش
- ربما يفتح نظره على الربط بين السيرفرات وتوزيع المهام.
- وبالتاكيد سيتضح له بدائية ما تستخدمه 90% من البرمجيات العربية في الكاش.


شكرا،،






__________________
Don't judge each day by the harvest you reap, but by the seeds you plant.
Robert Stevenson
mr_m is offline   قديم 16-04-2009, 04:46 AM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#35  

إقتباس:
الاخ mr_m يقصد أيهما اسرع:
1-استخراج مثلا اسماء المشرفين من مليون سجل عن طريق البي اتش بي بحيث يكون المليون سجل موجوده كمصفوفه في كود البي اتش بي ((طبعا هذا مجرد مثال لان في الواقع مستحيل مليون سجل في كود))
2- استخراج اسماء المشرفين من مليون سجل عن طريق امر SQL
ما دخل ذلك فيما قلته عن الكاش ؟
وهل هناك من يكيش جدول الأعضاء كله في الذاكرة !!

عموما لو كانت تلك البيانات في الذاكرة فالأسرع بالطبع جلبه منها وليس من الهارد
لأن الذاكرة أسرع من الهارد ديسك بأضعاف
بحث لغة البرمجة عن بيان في الذاكرة يتم عن طريق البحث عن ال address الخاص به ثم تعريق هذا الأدريس للمعالج ليبدأ التعامل معه

وجود قواعد البيانات جاء لحل العديد من المشكلة بعدما كانت البيانات تخزن في وقتها في ملفات مفردة علي الهاردديسك وأول ما تقرأه في أي كتاب قواعد بيانات هو فوائد إستخدام قواعد البيانات

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

اما الأخ العزيز فدخل ليوضح فقط نقطة ما
- إنكار كل ما قلته والقول ان طريقة التعليمة هي الأفضل !! ولا أدري كيف هناك مبرمج يعتقد أن تنفيذ تعليمة السكول مع كل تقليبة لصفحة أفضل من تخزين ناتجها ( وهو بالكيلوبايت ) وجلبه مباشرة بدون تعليمة سكول !!
- أن الكاش علم كبير وضخم جدا وأوسع من أن نفهمه نحن التلاميذ وكل تلك البرمجيات التي تكلمت عنها لا تحوي سوي كوارث وأكواد بدائية ولكنه هو من يمتلك العلم الحديث والذي لم يتكلم عنه حتي الأن ولكن فقط يلمح لهذا العلم السحري !!

خاصة وقد قال جملة من بدائيات البرمجة
وهو أن تعليمة السكول تجلب النتائج المطلوبة للذاكرة ليبدأ المعالج بالتعامل معها في الذاكرة ولا أدري كيف تعتبر هذه معلومة جديدة عليه أصلاً !!
وماذا كان يظن عن دالة free result الموجود في دوال ال php للتعامل مع الماي سكول والتي تطبق بعد أوامر ال select

يبدوا أنه فهم من كلامي أني أقول أننا نريد تخزين كل موضوعات الموقع في الذاكرة !!






__________________
برامج
محب الله ورسوله is offline   قديم 16-04-2009, 05:26 AM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#36  

ما رأيك أخي mr_m أن ننقل النقاش لجانب عملي أفضل من الكلام النظري

لديك برمجية فيها مجموعات أعضاء ولهذه المجموعات خيارات لصلاحياتها في لوحة التحكم

هل تقوم بعمل تعليمة سكول لكل عضو يسجل دخول للموقع لجلب صلاحيات مجموعته الحالية ؟

أيضا في برمجيتك تقدم نظام خيارات عن طريق لوحة التحكم للتحكم في خيارات الموقع ككل
هل مع كل زائر يدخل تحمل كل هذه الخيارات بتعليمة سكول ؟

أنتظر ردك لأعرف طريقتك في التعامل مع مثل هذه الأمور التي تواجه أي مبرمج






__________________
برامج
محب الله ورسوله is offline   قديم 16-04-2009, 05:38 AM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#37  

اللعبة كلها هنا للإفادة

http://www.swalif.net/softs/swalif45/softs260801/






__________________
برامج
محب الله ورسوله is offline   قديم 16-04-2009, 06:59 AM
الرد مع إقتباس
عضو فعال جدا
تاريخ الإنضمام: Aug 2004-
#38  

اخوي المجروح نحن نعرف ان الذاكره اسرع من الهاردسك وان الكاش (اقصد الهاردووير) اسرع من الميموري وان الرجستري اسرع من الكاش ميموري.

انتم تتناقشون حول نقطه وللاسف كل واحد تكلم عنها حتى ضاعت مع التفاصيل.

اعتقد بأختصار الاخ المجروح يحاول يقول ان هناك mysql queries من المستحسن ان تكيش في الذاكره مثل الجدول الذي فيه اعدادت الموقع مثل الاسم والرابط وغيره وهذا صحيح ماقاله.

والاخ mr_m كان يحسب ان الاخ مجروح يقصد تكييش mysql queries مثل الجدول الخاص بالاعضاء او الجدول الخاص بالمواضيع. لذلك حبيت اوضح للاخ ان الذي يكيش بالذاكره هي جداول صغيره في الحجم وتستخدم كثير وليست كل الجداول.






PHP Expert is online now   قديم 16-04-2009, 12:35 PM
الرد مع إقتباس
عضو نشيط جدا
تاريخ الإنضمام: Jan 2008-
#39  

اخي المجروح .. فضلا اقرأ معي ما سأقتبسه من كلامي:
إقتباس:
لذلك انتقلت لقاعدة البيانات فترة .. ثم انتقلت لوسيلة اراها افضل
إقتباس:
= بخصوص الانتقال كلية لتخزين الكاش على قاعدة البيانات بامكانك ان تسميه "خطأ" وانا معك في ذلك.
لكن هذا كان سنة 2006 وبامكانك تخيل مدى قلة المعلومات والتجارب في هذا المجال وقتها.
إقتباس:
= لا يجب الاعتماد على الرام كلية و هذا تجده عند المواقع التي عليها ضغط من الزوار سوف تقتصد في استخدام الرام..
عن نفسي ادمج بين انواع التخزين فعلى سبيل المثال وليس الحصر:

- هناك صفحات ستاتيك تماما يتم تحويل الزائر لها وتكونها بالكرون.
- وهناك صفحات تستدعي اجزاء استاتيك من الرام واخرى من صفحات اخرى.
- وايضا هناك fetching لنتائج استعلامات و اعادة تخزينها في جداول لسهولة جلبها.
- وهناك خرائط للسكشنز والاكشنز الخاصة بها و طريقة عرضها في الرام.
- وتخزين بيانات دخول لمستخدمين معينين واعدادات اللغة في الرام على شكل نصوص وترك آخرين.


* واشكال الاستخدام تتوقف على مجال ومهمة الموقع الذي تعمل له كاش .. او بمعنى اصح optimization
* يمكنني المناقشة فيما تم ذكره فقط حتى تعم الفائدة .. لكن ليس اكثر.
وفقط للتوضيح:
معلومات المستخدمين اقصد بها التالي:
- تفضيلات اللغة - تفضيلات البحث - تفضيلات ال layout اذا كان هناك - فئته العمرية مثلا او بياناته الشخصية

هذه قد تنقل لك في الهيدرز الخاصة بالrequest على شكل كوكيز للمستخدم غير المسجل


صراحة اخي قد نضع طريقة/أسلوب standard ونقول انها مناسبة لاي موقع مع بعض التعديلات. وتتحدث عنها كما هو واضح..

لكني سأؤثر عدم الحديث لاني لا املك ما اشرحه او ألخصه في عدة سطور، حقيقة ..
ممكن اعمل كتابا عما استخدمه حاليا من اسلوب وتطبيقه على "بعض" الانواع من المواقع..
او عدة كتب تشرح ادخال ال AI على الكاش وتعليمها لنفسها وفهمها لتحديثات المبرمج على الكود دون تدخل منه..

لأن بوضعي لها على شكل رد:
- سوف اظلم المبرمج لانه لن يدرك ما قصدته منها نظرا لان الشرح مقتصد تماما.
- وسأظلم المعلومات لانها لن يعمل بها.






__________________
Don't judge each day by the harvest you reap, but by the seeds you plant.
Robert Stevenson
mr_m is offline   قديم 16-04-2009, 03:35 PM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#40  

إقتباس:
لذلك انتقلت لقاعدة البيانات فترة .. ثم انتقلت لوسيلة اراها افضل
لم أفهم الجملة لأنه لا يوجد في عالم تخزين الملفات سوي قواعد البيانات

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

تخزين الكاش داخل قاعدة البيانات هو ما تستخدمه فيبولتن في جدول ال datastore وسبب عمل ذلك أنه قديما لم يكن هناك ما يوفر لك إمكانية تخزين تلك البيانات علي الذاكرة بسهولة وتخزين هذا الجدول علي الهارد ديسك بنظام الملفات هو حل غير جيد
إلا أنه في الوقت الحالي أصبح بسهولة عالية يمكنك نقله كله للذاكرة خاصة وأن حجمه قليل وهذا ما تقدمه الإضافة vboptimize ولهذا فهذه الإضافة توفر التالي

- تقليل تعليمات السكول حيث تقص تعليمتين من كل صفحة وهي الخاصة بالقوالب وتقص من تعليمة بيانات العضو الجزء اخاص بملف اللغة
- تقليل إستهلاك الموارد مثل الذاكرة والمعالج

مرحلة الذاكرة هي المرحلة التي تمر بها التعليمة وحفظ الداتا في الذاكرة هو مجرد إختصار كل المراحل السابقة لأخر خطوة فقط مع الإستغناء عن كل الخطوات السابقة والتي يكون أشدها ثقل وقت ترجمة التعليمة وتنفيذها ويختلف ذلك من تعليمة لأخري

اما عن قولك أستخدام ال AI في الكاش فمع إحترامي لك أخي ما الذي تعلمه عن ال AI في عالم البرمجة ؟
ليتك تكتب لنا قليلاً ما تقصده بال AI لنعلم ما تقصده لأن ال AI ليس مجرد دالة أو كلاس تقرأ قليلا طريقة التنفيذ وتحدد المطلوب حسب دوال شرطية
هذا علم كامل خاص وليس مجرد إسم تطلقه علي دالة تراها ذكية






__________________
برامج
محب الله ورسوله is offline   قديم 16-04-2009, 04:26 PM
الرد مع إقتباس
عضو نشيط جدا
تاريخ الإنضمام: Jan 2008-
#41  

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

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

تخزين الكاش داخل قاعدة البيانات هو ما تستخدمه فيبولتن في جدول ال datastore وسبب عمل ذلك أنه قديما لم يكن هناك ما يوفر لك إمكانية تخزين تلك البيانات علي الذاكرة بسهولة وتخزين هذا الجدول علي الهارد ديسك بنظام الملفات هو حل غير جيد
إلا أنه في الوقت الحالي أصبح بسهولة عالية يمكنك نقله كله للذاكرة خاصة وأن حجمه قليل وهذا ما تقدمه الإضافة vboptimize ولهذا فهذه الإضافة توفر التالي

- تقليل تعليمات السكول حيث تقص تعليمتين من كل صفحة وهي الخاصة بالقوالب وتقص من تعليمة بيانات العضو الجزء اخاص بملف اللغة
- تقليل إستهلاك الموارد مثل الذاكرة والمعالج

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

إقتباس:
اما عن قولك أستخدام ال AI في الكاش فمع إحترامي لك أخي ما الذي تعلمه عن ال AI في عالم البرمجة ؟
ليتك تكتب لنا قليلاً ما تقصده بال AI لنعلم ما تقصده لأن ال AI ليس مجرد دالة أو كلاس تقرأ قليلا طريقة التنفيذ وتحدد المطلوب حسب دوال شرطية
هذا علم كامل خاص وليس مجرد إسم تطلقه علي دالة تراها ذكية
اذا دققت ايضا في الكلام ستجدني تحدثت عن "تقنية" .. ولا تزعل مني فانا لن اشرح/ اثبت نفسي هنا.. "I'm not explaining myself to you!"


>> لا أعرف كيف تحكم على الاشياء صراحة!
هل تحكم في ضوء ما هو موجود وواضح فعلا؟ أم من خلال حالات ممرت عليها ربما و حضرت كلاما تقوله عندما تمر بموقف مشابه؟!

لاني ارى 70% من كلامك المكتوب هنا بشكل ارجح لا يمت للموضوع او للحالة التي امامك بصلة..






__________________
Don't judge each day by the harvest you reap, but by the seeds you plant.
Robert Stevenson
mr_m is offline   قديم 16-04-2009, 05:15 PM
الرد مع إقتباس
عضو مميز
تاريخ الإنضمام: Aug 2004-
#42  

أخوني هذه كلاس للتعامل مع عدة أنواع من المسرعات والكاش ومنها الملفات او التخزين بإستخدام SQLite
XCache, APC, eAccelerator, files, memcached using Cesar Rodas pure PHP gMemcache class, and SQLite.

Cacheme (memcache, benchmark) - PHP Classes






__________________
برامج
محب الله ورسوله is offline   قديم 16-04-2009, 05:18 PM
الرد مع إقتباس
عضو نشيط جدا
تاريخ الإنضمام: Jan 2008-
#43  

بالتأكيد ستفيد المبرمج .. مشكور!






__________________
Don't judge each day by the harvest you reap, but by the seeds you plant.
Robert Stevenson

آخر تعديل بواسطة mr_m في 16-04-2009 الساعة 05:59 PM. السبب: خطأ
mr_m is offline   قديم 16-04-2009, 05:21 PM
الرد مع إقتباس
الرد على الموضوع


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
Notepad++ حرر ملفاتك بأسهل الطرق عالم المصمم برامج الحاسب 0 05-12-2008 03:17 AM
تعدد الصفحات 2 [ بأسهل الطرق ] أحمد أبو النصر PHP 8 05-06-2007 04:39 AM
تعدد الصفحات .. بأسهل الطرق ..! أحمد أبو النصر PHP 26 22-09-2006 12:32 AM
::. أرشفة الايميل بأسهل الطرق .:: سوريا تشات الويب والويب 2.0 والتجارة الالكترونية 3 09-12-2005 11:51 AM
أعـــــــــــــــــــرف مركز موقعك عالميا بأسهل الطرق WS_FTP الويب والويب 2.0 والتجارة الالكترونية 13 03-11-2004 07:50 AM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 07:31 PM.