אולי בכלזאת??

shoshvany

New member
אולי בכלזאת??

אז ככה, אני מנסה לבנות איזה מגנון CACHING ששומר אובייקטים (אני משתמש באובייקט CACHE של ה HTTP CONETXT) אם אני מכניס אוביייקט לCACHE כשהוא מלא הוא פשוט זורק אובייקט אחר החוצה אז רציתי לבנות לעצמי איזה תור עדיפויות (לפי כמות הקריאות לאובייקט) ולשלט במי נכנס לCACHE ומי לא אבל בשביל זה אני צריך לדעת כשיש בקשה לאובייקט X אם יש בשבילו מקום בCACHE או לא אחרי הרבה קריאה כולם אומרים שאין דרך ממשית לדעת גודל אובייקט או אפילו כמה CACHE פנוי יש לי... יש רעיונות????
 

J u n k y

New member
אמממ

לגבי גודל ה - cache אני לא יודע, וזה כנראה מאוד דינמי - תלוי בגודל הזיכרון בכל רגע נתון. לגבי גודל האובייקט, רעיון התחלתי: תיצור BaseObject, ותממש בו GetSize(). כל מחלקה יורשת תממש את GetSize ואז תקרא ל - base.GetSize. הבעיה: כל עוד יש לך רק טיפוסים בסיסיים במחלקה, הכל בסדר, אבל איך לעזאזל אתה מחשב גודל של DataSet? DataReader? צריך עוד לחשוב על זה...
 

shoshvany

New member
אחרי עוד קצת קריאה

חשבתי להשתמש במנגנון System.Web.Caching.CacheItemPriority לפי MSDN, האלגוריתם של הCACHE מתחשב בPRIORITY שאני מגדיר בהכנסה של אובייקט כשהוא זורק אובייקטים , השאלה היא מה קורא אם במצב נתון יש לי מעט זיכרון ואני מנסה לדחוף אובייקט בPRIORITY נמוך והCACHE מלא באובייקטים עם PRIORITY גבוה ? הוא זורק מישהו? הוא זורק את האובייקט החדש??? ננסה ונראה
 
למעלה