হাইবারনেট যখন দ্বিতীয় স্তরের ক্যাশে আঘাত করে এবং কখন এটি ক্যাশেটিকে অকার্যকর করে তা বুঝতে আমার সমস্যা হয়।
আমি বর্তমানে এটিই বুঝতে পারি:
- দ্বিতীয় স্তরের ক্যাশে সেশনগুলির মধ্যে সত্তা সংরক্ষণ করে, সুযোগটি সেশনফ্যাক্টরি
- আপনাকে বলতে হবে কোন সংস্থাটি ক্যাশে যাবে, কোনও সত্তা ডিফল্টরূপে ক্যাশে হবে না
- ক্যোয়ারী ক্যাশে ক্যাশগুলিতে প্রশ্নের ফলাফল সংরক্ষণ করে।
আমি যা বুঝতে পারি না তা হ'ল
- হাইবারনেট কখন এই ক্যাশে আঘাত করে?
- ধরা যাক আমি দ্বিতীয় স্তরের ক্যাশে সেট আপ করেছি তবে ক্যোরি ক্যাচিং নয়। আমি আমার গ্রাহকদের ক্যাশে রাখতে চাই, তাদের মধ্যে 50000 আছে। কীভাবে আমি ক্যাশে থেকে গ্রাহকদের পুনরুদ্ধার করতে পারি?
- আমি ধরে নিয়েছি ক্যাশে থেকে আইডি দিয়ে সেগুলি পেতে পারি। এটি সহজ হবে তবে ক্যাশে দেওয়ারও উপযুক্ত নয়। তবে আমি যদি আমার সমস্ত গ্রাহকদের সাথে কিছু গণনা করতে চাই। ধরা যাক আমি গ্রাহকদের একটি তালিকা দেখাতে চাই তবে আমি কীভাবে তাদের অ্যাক্সেস করব?
- ক্যোরি ক্যাচিং অক্ষম করা থাকলে আমি কীভাবে আমার সমস্ত গ্রাহক পেতে পারি?
- কেউ যদি গ্রাহকের একজনকে আপডেট করে তবে কী হবে?
- সেই গ্রাহক কী ক্যাশে অবৈধ হয়ে যাবেন বা সমস্ত গ্রাহক অবৈধ হয়ে যাবেন?
নাকি আমি ভাবছি ক্যাশে সম্পূর্ণ ভুল? সেক্ষেত্রে দ্বিতীয় স্তরের ক্যাশের আরও উপযুক্ত ব্যবহার কী হবে? হাইবারনেট ডকুমেন্টেশন ক্যাশে বাস্তবে কীভাবে কাজ করে তা মোটেও পরিষ্কার নয়। এটি কীভাবে সেট আপ করা যায় সে সম্পর্কে কেবলমাত্র নির্দেশাবলী রয়েছে।
আপডেট: সুতরাং আমি বুঝতে পেরেছি যে দ্বিতীয় স্তরের ক্যাশে (ক্যোয়ারী ক্যাশে ব্যতীত) আইডির মাধ্যমে ডেটা লোড করার পক্ষে ভাল। উদাহরণস্বরূপ আমার ব্যবহারকারীর অবজেক্ট রয়েছে যে আমি ওয়েব অ্যাপ্লিকেশনটিতে প্রতিটি অনুরোধে অনুমতি পরীক্ষা করতে চাই। দ্বিতীয় স্তরের ক্যাশে ব্যবহারকারীকে ক্যাশে রেখে ডাটাবেস অ্যাক্সেস হ্রাস করার কি এটি একটি ভাল কেস হবে? যেমন আমি সেশনটিতে বা যেখানেই এবং যেখানেই অনুমতি পরীক্ষা করার দরকার হয় আমি ব্যবহারকারীর আইডিটি আইডি দ্বারা লোড করব এবং অনুমতিগুলি যাচাই করতাম store