کار با اشیاء باینری

ساخت وبلاگ

در GridGain ، داده ها با فرمت باینری ذخیره می شوند و هر بار که روش های حافظه پنهان را صدا می کنید ، در اشیاء قرار می گیرند. با این حال ، شما می توانید مستقیماً با اشیاء باینری که از دفع خارج می شوند کار کنید.

یک شی باینری یک بسته بندی بر روی بازنمایی باینری یک ورودی ذخیره شده در حافظه نهان است. هر شی باینری دارای روش فیلد (نام) است که مقدار قسمت داده شده و روش نوع () را که اطلاعات مربوط به نوع شی را استخراج می کند ، برمی گرداند. اشیاء باینری وقتی می خواهید فقط با برخی از زمینه های اشیاء کار کنید مفید هستند و نیازی به رها کردن کل شی ندارید.

شما نیازی به تعریف کلاس برای کار با اشیاء باینری ندارید و می توانید بدون شروع مجدد خوشه ، ساختار اشیاء را به صورت پویا تغییر دهید.

قالب شیء باینری برای همه سیستم عامل های پشتیبانی شده ، یعنی جاوا ، . net و C ++ جهانی است. شما می توانید یک خوشه جاوا را شروع کنید ، سپس از مشتری . NET یا C ++ به آن وصل شوید و از اشیاء باینری در آن سیستم عامل ها استفاده کنید و نیازی به تعریف کلاس در سمت مشتری نیست.

محدودیت های

چندین محدودیت وجود دارد که با اجرای فرمت شیء باینری دلالت دارد:

  • در داخل ، نوع و زمینه های یک شی باینری توسط شناسه آنها مشخص می شود. IDS به عنوان کدهای هش نام های رشته مربوطه محاسبه می شود. در نتیجه ، زمینه ها یا انواع با نام یکسان هش مجاز نیستند. با این حال ، شما می توانید از طریق پیکربندی ، اجرای خود را از تولید شناسه ارائه دهید.
  • به همین دلیل ، قالب شیء باینری در سطوح مختلف سلسله مراتب کلاس ، نام زمینه یکسان را اجازه نمی دهد.
  • اگر یک کلاس رابط کاربری خارجی را پیاده سازی کند ، Gridgain به جای یک باینری از OptimizedMarshaller استفاده می کند. OptimizedMarshaller از روشهای WritingExteal () و readexteal () برای سریال سازی و رها کردن اشیاء استفاده می کند. بنابراین ، کلاس باید به کلاس CLASSPATH گره های سرور اضافه شود.

فعال کردن حالت باینری برای انبارها

به طور پیش فرض ، هنگامی که شما از حافظه نهان درخواست می کنید ، آنها در قالب deserialized بازگردانده می شوند. برای کار با قالب باینری ، با استفاده از روش withleepbinary () نمونه ای از حافظه پنهان را بدست آورید. این نمونه اشیاء را در قالب باینری (در صورت امکان) برمی گرداند.

 // یک شیء معمولی ایجاد کنید و آن را در حافظه نهان قرار دهید. شخص شخص = جدید شخص(1, "اولین فرد"); مشتعل شدن.مخازن("Personcache").قرار دادن(1, شخص); // نمونه ای از حافظه پنهان باینری را دریافت کنید. جبههعدد صحیح, باینری> با دودویی = مشتعل شدن.مخازن("Personcache").از بین بردن(); باینری دوتایی = با دودویی.گرفتن(1);

توجه داشته باشید که همه اشیاء به قالب شی باینری تبدیل نمی شوند. کلاسهای زیر هرگز تبدیل نمی شوند (به عنوان مثال ، روش توبایی (شی) شیء اصلی را برمی گرداند و نمونه های این کلاس ها بدون تغییر ذخیره می شوند):

  • همه ابتدایی (بایت ، int و غیره) و کلاس های بسته بندی آنها (بایت ، عدد صحیح و غیره)
  • آرایه های بدوی (بایت [] ، int [] ،…)
  • رشته و مجموعه رشته ها
  • uuid و آرایه ای از uuids
  • تاریخ و آرایه تاریخ
  • Timestamp و آرایه ای از جدول زمانی
  • enums و مجموعه ای از عناصر
  • نقشه ها ، مجموعه ها و آرایه های اشیاء (اما اشیاء موجود در آنها در صورت باینری دوباره بازسازی می شوند)
 یخچالدر نظر گرفتن, ابراز ابعاد> با دودویی = مخازن.از بین بردندر نظر گرفتن, ابراز ابعاد>(); ابراز ابعاد دوتایی = با دودویی[1]; رشته نام = دوتایی.گودالرشته>("نام"); iBinaryObjectBuilder سازنده = دوتایی.سازنده(); سازنده.محل کار("نام", نام + " - کپی  استراتژی های مؤثر فارکس...

ما را در سایت استراتژی های مؤثر فارکس دنبال می کنید

برچسب : نویسنده : توران میرهادی بازدید : <-PostHit-> تاريخ : شنبه 31 تير 1402 ساعت: 1:36