زمان جاری: 2012/05/25, 03:43 PM خوش آمدید مهمان گرامی! (ورودعضویت)



داینامیک کش


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
داینامیک کش
نویسنده پیام
Speedy آفلاین
عضو جدید
*

ارسال‌ها: 5
تاریخ عضویت: Sep 2011
رتبه: 0
تشکر: 2
1 بار تشکر شده در 1 پست
ارسال: #1
داینامیک کش
سلام

فرض کنید هر کاربر بر اساس آی دی ، کوری خاص میفرسته سمت سرور . برای مثال لیست خرید ها ، که هر لحظه ممکن تغییر پیدا کند .

برای کش کردن به چه صورت عمل می کنیم و از کدام انجین کش ؟
2011/09/24 11:16 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 993
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 402
873 بار تشکر شده در 561 پست
ارسال: #2
RE: داینامیک کش
درود بر شما.
راه های مختلفی وجود داره.

اما بهترین راه این هست که هر کوئری(بر اساس پارامتر هاش) رو هش کنید. تا اینجا ما برای هر کوئری یک کلید داریم.
حالا برای هر یوزر تنظیمات کش رو طوری تغیییر میدیم که به نام فایل های کش یک پیشوند که نام یوز هست اضافه کنه.


الان ما برای هر کودری و مختص هر کاربر کش اختصاصی داریم.
2011/09/24 07:02 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : payamsp Speedy
Speedy آفلاین
عضو جدید
*

ارسال‌ها: 5
تاریخ عضویت: Sep 2011
رتبه: 0
تشکر: 2
1 بار تشکر شده در 1 پست
ارسال: #3
RE: داینامیک کش
سلام

ممنون از پاسختون ،
قبلا اشاره کرده بودین میتوان از نوعی کش استفاده کرد که فقط در زمانی که تیبل تغییراتی داخلش ایجاد بشود کوری اجرا بشود و در بقیه موارد از کش بخواند ...
چون تغییران زیادی روی تیبلی که قرار هست کش بشود ایجاد میشه روزانه .
2011/09/28 01:04 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 993
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 402
873 بار تشکر شده در 561 پست
ارسال: #4
RE: داینامیک کش
برای به روز کردن تغییرات دوراه هست .

1- تعیین مدیت زمان کم برای اعتبار کش
2- حذف کردن کش بعد از هر گونه تغییر در جداول.


مرحله بعدی مدیریت کش ها هست. که باید طبق ساختار پروژه تون و نیاز هاتون یک روال برای خود ایجاد کنید.

من برای خودم یک کش منجر نوشتم در واقع کلاس کیک رو توسعه دادم. این کلاس میاد یک ساختار درختی ایجاد میکنه.
فرضا اگر من کلید یک کش رو در مدل پست ها test بزارم. کلاس من سریع یک فولدر در /app/tmp/cache/model/post/test ایجاد میکنه و کش ها رو در این فلدر می سازه.

حال زمان تغییرات توسط یک رفتارکننده کنترل می کنم که کلید کش مورد من چی هست. بعد به کمک afterSave , afterDelete میاد اون فولدر یا کش رو حذف میکنه.

شما هم باید این مدیریت رو طبق نیاز تون ایجاد کنید.
2011/09/28 04:51 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : payamsp
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: