نمایش نتایج 1 تا 7 از 7

نام تاپیک: مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

  1. #1

    Question مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

    سلام . من یک برنامه دارم مینویسم که در هر ریکوست که ارسال میشه نیازه ادرس هاست با مقدار درون پایگاه داده چک بشه تا مشخص بشه این دامنه برای کدوم کاربر هست و اگر برای کاربری نبود ریکویست رو منحل میکنه

    در نسخه اولیه هر بار از پایگاه داده واکشی میکنه و میدونم اگر تو استفاده واقعی بره هرچه کاربر و تعداد ریکویست ها بیشتر بشهتعداد خیلی زیادی درخواست به اس کیو ال سرور میره

    برای حل این موضوع اومدم یک کلاس پابلیک درست کردم و از اون یک ابجکت استاتیک درست کردم و هر بار ریکوسیتی میاد اول در این ابجکت استاتیک چک میکنم ببینم این ادرس دامنه برای کاربری ثبت شده یا نه . اگر بود که خوب دیگه درخواست به پایگاه داده نمیره اگر نبود میره از پایگاه چک میکنه و اگر پیدا کرد به ابجکت استاتیک اضافه میکنه و اگر پیدا نکرد درخواست رو منحل میکنه .

    اینطوری تعداد ریکویست ها خیلی کم شده . مثلا از 1000 بار چک کردن پایگاه داده الان شده 1 بار .

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

    در مورد اپدیت پایگاه داده هم گفتم اگر اپدیتی قراره برای اون نام دامنه اتفاق بیافته از لیست ابجکت استاتیک حذف بشه و در درخواست بعدی دوباره چک بشه






    private static List < DnsTbl > DnsList {get;set;}




    public class DnsTbl {
    public string Id {get;set;}
    public string DnsName {get;set;}
    }


    private void CheckDns(string host) {
    var result = DnsList.FirstOrDefault(s => s.DnsName == host);
    if (result == null) {
    //چک کردن از پایگاه داده
    //افزودن به DnsList
    } else {
    // برگشت Id
    }




    }


  2. #2

    نقل قول: مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

    کسی نظری نداره ؟ یا من سوالم رو بد مطرح کردم ؟

  3. #3

    نقل قول: مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

    مورد شما دقیقا جایی هست که بحث Caching در ASP.NET Core به کار میاد. استفاده از متغیرهای استاتیک هیچوقت روش خوبی برای حل مشکل در وب نیست. متغیرهای استاتیک علاوه بر اینکه پرفورمنس رو پایین میارن بعد از ریست شدن سرور هم پاک میشن و باید دوباره بارگیری بشن.

  4. #4

    نقل قول: مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

    باهاتون موافقم و خودم هم حس میکنم کارم درست نیست . مثلا یک فیلدی که من دارم در کد بیهایند نرخ ارز هست که در پایگاه ذخیره میشه و احتمال داره روزی 1 بار اپدیت بشه . وقتی از پایگاه میخونم به تعداد ریکویست های روزانه کانکشن زده میشه به پایگاه در حالی که من یه بار اول رو از پایگاه میخونم و هرجا اگر پایگاه رو اپدیت کردم میگم این استاتیک هم اپدیت بشه دستی
    اینطوری مثلا روزی 100 هزار تا کانکشن به پایگاه میشه 10 تا دونه . اگر این روش درستی نیست از چه روشی باید استفاده کنم ؟
    کش کردن داده به نظر شما در اینجا هم کاربرد داره ؟ یا اینکه احتمال داره یک کش برای دونفر با پنل های متفاوت نمایش داده بشه ؟

  5. #5

    نقل قول: مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

    به نظر من اگه حجم این اطلاعات کم هست بهترین روش همون هست که استفاده کردین.
    اگه حجم داده ها زیاد هست یا به مرور مثلا یک سال دیگه حجم زیاد میشه این روش بهینه نیست.

  6. #6

    نقل قول: مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

    حجم اطلاعات زیاد قراره بشه . برای همین دنبال راه بهینه تری هستم..
    به نظر شما از چه راهی باید استفاده کرد در چنین مواردی ؟

  7. #7

    نقل قول: مزایا یا معایب استفاده ازلیست استاتیک یک کلاس

    یک راه اینه که تعداد محدودی مثلا 100 تایی که بیشترین درخواست رو دارن توی استاتیک نگه دارین وقتی ریکوئست اومد چک کنین که ایا توی لیست هست یا نه بعد برین از دیتابیس چک کنید.
    البته باید یک آمایش هم داشته باشید و برای هر بار درخواسا ادرس هاست رتبه اون ادرس هاست رو یکی بالا ببرید و مثلا هر روز یا چند ساعت یک بار رنک بندی کنید و لیست رو رفرش کنید و 100 تای بالا رو تو لیست قرار بدین.
    اینطوری مثلا میشه 80 درصد از درخواستا رو توی لیست مثلا 100 تایی نگه داشت. البته اعداد و ارقام همش توی ذهن من هست و شاید زمان عملیات خیلی اینها تغییر کند

تاپیک های مشابه

  1. سوال: کجا باید از متد استاتیک استفاده شود
    نوشته شده توسط mirbehnam2 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 10 شهریور 1393, 19:59 عصر
  2. پاسخ: 5
    آخرین پست: پنج شنبه 12 تیر 1393, 17:36 عصر
  3. پاسخ: 13
    آخرین پست: سه شنبه 03 دی 1392, 18:50 عصر
  4. پاسخ: 25
    آخرین پست: سه شنبه 15 مرداد 1392, 17:39 عصر
  5. سوال: استفاده ی مکرر از متدهای استاتیک در کلاس
    نوشته شده توسط Metal Gear Solid در بخش PHP
    پاسخ: 0
    آخرین پست: یک شنبه 23 مرداد 1390, 10:01 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •