আইএমএইচও, ফাংশনাল রিঅ্যাকটিভ প্রোগ্রামিং (এফআরপি) এক অর্থে ক্যাশে অবৈধকরণ সমাধানের একটি সাধারণ উপায়।
এফআরপি পরিভাষা মামুলি তথ্য একটি বলা হয়: এখানে কেন সামান্য ত্রুটি । এফআরপি'র অন্যতম লক্ষ্য হ'ল ভুলের অনুপস্থিতির গ্যারান্টি দেওয়া।
এফআরপি আরও বিস্তারিতভাবে এই 'এফআরপি'র মূল বক্তব্য এবং এই এসও উত্তরে ব্যাখ্যা করা হয়েছে ।
ইন আলাপCell
করা একটি ক্যাশে বস্তু / সত্তা প্রতিনিধিত্ব করেন এবং একটি Cell
যদি এটা নির্ভরতা এক রিফ্রেশ হয় রিফ্রেশ করা হয়।
এফআরপি নির্ভরতা গ্রাফের সাথে সম্পর্কিত প্লাম্বিং কোডটি গোপন করে এবং নিশ্চিত করে যে কোনও বাসি নেই Cell
।
আর একটি উপায় (এফআরপি থেকে পৃথক) যা আমি ভাবতে পারি তা b
কোনওভাবে রচয়িতা মোনাডে গণিত মান (প্রকারের ) মুড়ে ফেলা হয় Writer (Set (uuid)) b
যেখানে Set (uuid)
(হাস্কেল নোটেশন) এমন পরিব্যক্তির মানগুলির সমস্ত সনাক্তকারী থাকে যার উপর ভিত্তি করে গণিত মান b
নির্ভর করে। সুতরাং, uuid
এমন এক ধরণের অনন্য শনাক্তকারী যা পরিবর্তিত মান / ভেরিয়েবল (একটি ডাটাবেসে একটি সারি বলুন) চিহ্নিত করে যার উপর ভিত্তি করে গণনা করা হয় b
।
এই ধারণাটি সংযুক্তকারীদের সাথে মিশ্রণ করুন যা এই ধরণের লেখক মোনাডকে পরিচালনা করে এবং যদি আপনি কেবল একটি নতুন গণনা করতে এই সংযুক্তকারীগুলি ব্যবহার করেন তবে এটি কোনও ধরণের সাধারণ ক্যাশে অবৈধ সমাধানের দিকে নিয়ে যেতে পারে b
। এই জাতীয় সংযোগকারীরা (এর একটি বিশেষ সংস্করণ বলে filter
) রাইটার মনড এবং (uuid, a)
-এসকে ইনপুট হিসাবে গ্রহণ করে, যেখানে a
একটি পরিবর্তনীয় ডেটা / ভেরিয়েবল দ্বারা চিহ্নিত হয় uuid
।
সুতরাং প্রতিবার আপনি যখন "আসল" ডেটা পরিবর্তন করেন (uuid, a)
(যে কোনও ডাটাবেসে সাধারণকরণের ডেটা বলুন যা থেকে b
গণনা করা হয়েছিল) যার b
উপর নির্ভর করে টাইপের গুণিত মান নির্ভর করে তবে আপনি ক্যাশেটিকে বাতিল করতে পারেন b
যদি আপনি কোনও মানকে পরিবর্তিত a
করেন যার উপর ভিত্তি করে b
মানটি নির্ভর করে , কারণ Set (uuid)
রাইটার মোনাডের উপর ভিত্তি করে আপনি কখন বলতে পারেন তা কখন ঘটে।
সুতরাং যে কোনও সময় আপনি কোনও প্রদত্তের সাথে কোনও কিছু uuid
রূপান্তরিত করার পরে, আপনি এই রূপান্তরটি সমস্ত ক্যাশে-তে সম্প্রচারিত করেন এবং তারা b
যে মানগুলিকে চিহ্নিত করে যে পরিবর্তিত মানের উপর নির্ভর করে তা অবৈধ করে দেয় uuid
কারণ রাইটার মোনাড যেখানে b
মোড়ানো আছে তা বলতে পারে বা এটির b
উপর নির্ভর করে কিনা uuid
না.
অবশ্যই, আপনি কেবল নিজের লেখার চেয়ে অনেক বেশি সময় পড়লে এটি কেবল অর্থ প্রদান করে।
তৃতীয়, ব্যবহারিক, পদ্ধতি হ'ল ডেটাবেসগুলিতে ম্যাটারিয়াল ভিউ-গুলি ব্যবহার করা এবং সেগুলি ক্যাশে-এস হিসাবে ব্যবহার করা। এএফআইএকি তারা এই অবৈধ সমস্যাটি সমাধান করার লক্ষ্য নিয়েছে। এটি অবশ্যই অপারেশনগুলিকে সীমাবদ্ধ করে যা পরিবর্তিত ডেটার সাথে পরিবর্তনীয় ডেটা সংযুক্ত করে।