কীগুলি_জোন = মাই ক্যাশে: 8 মি মানে?
ডকুমেন্টেশন হিসাবে বলা হয়েছে , এনজিনেক্স সমস্ত সক্রিয় কী এবং তথ্য সম্পর্কিত তথ্য একটি ভাগ করা মেমরি জোনে সংরক্ষণ করবে , যার name
এবং size
কী_জোন প্যারামিটার দ্বারা কনফিগার করা আছে। সম্পূর্ণতার বিষয়টি হিসাবে, প্রতি অংশে ভাঙ্গা যাক
/var/cache/nginx
আসল ক্যাশে সংরক্ষণ করা সেই জায়গা। ফোল্ডারের অভ্যন্তরে, ক্যাশে ফাইলটি বাইনারি ফাইল ছিল তবে আপনি সহজেই এর ভিতরে এইচটিএমএল ট্যাগটি স্পট করতে পারবেন।
levels=1:2
স্তর স্তরের প্যারামিটার ক্যাশে সাব-ডিরেক্টরি স্তরগুলির সংখ্যা নির্ধারণ করে।
keys_zone=myCache:8m
সর্বাধিক আকার 8 এমবি সহ মাই ক্যাশে নামে ভাগ করা মেমরি জোনটি সংজ্ঞায়িত করছিল। এটি ক্যাশে সমস্ত সক্রিয় কী এবং মেটাডেটা ধারণ করে। সুতরাং, যখনই কোনও এনজিঙ্ক্স কোনও পৃষ্ঠা ক্যাশে হয়েছে কিনা তা পরীক্ষা করে, এটি প্রথমে ভাগ করা মেমরি জোনটি নিয়ে পরামর্শ করে, তারপরে /var/cache/nginx
ক্যাশে উপস্থিত থাকলে প্রকৃত ক্যাশের অবস্থান অনুসন্ধান করুন ।
max_size
ক্যাশে সর্বোচ্চ আকার ছিল যেমন ফাইল আকার /var/cache/nginx
।
inactive=1h
সর্বাধিক নিষ্ক্রিয় সময় ক্যাশে সংরক্ষণ করা যেতে পারে তা নির্দিষ্ট করুন। inactive
প্যারামিটার দ্বারা নির্দিষ্ট সময় অ্যাক্সেস না করা ক্যাশেড ডেটা তাদের তাজাতা নির্বিশেষে ক্যাশে থেকে সরানো হবে।
ক্যাশে যাচাইকরণ এবং মোছা কীভাবে কাজ করে
Nginx মেলিং তালিকা থেকে নেওয়া
নির্দেশিকা proxy_cache_valid উল্লেখ করে কতক্ষন প্রতিক্রিয়া বৈধ বিবেচনা করা হবে (এবং ব্যাকএন্ড কোনো অনুরোধ ছাড়া ফেরত পাঠানো হবে)। এই সময়ের পরে প্রতিক্রিয়াটিকে "বাসি" হিসাবে বিবেচনা করা হবে এবং হয় তা ফেরানো হবে না বা প্রক্সি_ ক্যাশে_ইজ_স্টেল সেটিংসের উপর নির্ভর করবে ।
আর্গুমেন্ট নিষ্ক্রিয় এর proxy_cache_path উল্লেখ করে কতক্ষন প্রতিক্রিয়া গত ব্যবহারের পরে ক্যাশের মধ্যে সংরক্ষণ করা হবে। মনে রাখবেন যে এমনকি বাসি প্রতিক্রিয়াগুলি যদি তাদের কাছে অনুরোধ থাকে তবে সম্প্রতি ব্যবহৃত হিসাবে বিবেচিত হবে।
আমি যেমন বুঝতে পেরেছি, এখানে সিউজোকোড কীভাবে এনগিনেক্স কাজ করে
অনুরোধ যখন আসবে
if cache.exist AND (now() - cache.first_retrieved) < proxy_cache_valid:
use it
else:
retrieve from backend
replace the old ones
অন্যান্য প্রক্রিয়াতে, ক্যাশে পরিচালক এই যুক্তিটি সম্পাদন করেন
if (now() - cache.last_used) > inactive:
del cache
if all-cache.size > max-size:
del *the most inactive cache* until size < max-size
প্রক্সি_ক্যাচি_প্যাথে প্রক্সি_ক্যাচি_অডিয়াল (12 ঘন্টা) নির্দিষ্ট নিষ্ক্রিয় মান (1 ঘন্টা) এর চেয়ে বেশি হলে কী হবে?
যতক্ষণ না অনুরোধ এবং নির্দিষ্ট ক্যাশে অ্যাক্সেস করা যায় ততক্ষণ পর্যন্ত সেই ক্যাশে অবজেক্টটি ক্যাশে রাখার পরে 12 ঘন্টা অবধি বৈধ থাকবে। এর পরে, ক্যাশেটি অবৈধ বলে বিবেচিত হয়েছিল, সুতরাং এনজিনেক্স ব্যাকএন্ড থেকে এনে বৈধ টাইমারটি পুনরায় সেট করবে। তবে যদি বস্তুটি এক ঘণ্টারও বেশি সময় নিষ্ক্রিয় থাকে (অ্যাক্সেস না করা হয়) - এমনকি 12 ঘন্টা বৈধ-ক্যাশে-পিরিয়ডেও - তবে এনজিঙ্ক্স প্যারামিটারের কারণে এটি মুছবেinactive
।
365d
এবং বৈধ হয়1d
তবে এনজিনেক্স এক বছরের জন্য প্রতিটি দিন ক্যাশে অনুরোধগুলি আনবে এমনকি কেউ যদি সেই অনুরোধ না করে?