সমস্ত ডাব্লুপি কোড পাবলিক কোড নয়
আপনি যদি সর্বজনীন কিছু প্রকাশ করতে চলেছেন তবে কোভসেনিন বলেছে এমন সমস্ত জিনিস পুরোপুরি বৈধ।
যদি আপনি নিজের বা আপনার সংস্থার জন্য ব্যক্তিগত কোড লিখতে চলেছেন তবে বিষয়গুলি আলাদা।
বাহ্যিক অবজেক্ট ক্যাশে হ'ল বড় সুবিধা fit
একটি বাহ্যিক অবিচ্ছিন্ন অবজেক্ট ক্যাশে সেট করার জন্য খুব সুপারিশ করা হয় , যখন আপনি পারেন।
স্থানান্তরকারী এবং মাইএসকিউএল সম্পর্কে কোভেশিনিনের উত্তরে যে সমস্ত কথা বলা হয়েছে তা খুব সত্য এবং ডাব্লুপি নিজেই এবং একগুচ্ছ প্লাগইন অবজেক্ট ক্যাশে ব্যবহার করে ... তারপরে যে পারফরম্যান্স উন্নতি হয়েছে, সেটআপ করার (ছোট) প্রচেষ্টার পক্ষে মূল্যবান রেডিস বা মেমক্যাচের মতো একটি আধুনিক ক্যাশে সিস্টেম।
ক্যাশেড মানগুলি সেখানে নাও থাকতে পারে: এটি দুর্দান্ত
তদুপরি, হ্যাঁ, একটি বাহ্যিক অবজেক্ট ক্যাশে নির্ভরযোগ্য নয় । একটি ক্ষণস্থায়ী সেখানে আসলে কখনও আপনার নির্ভর করা উচিত নয়। আপনি নিশ্চিত এটি কাজ করে যদি ক্যাশে যেখানে তারা না করতে হবে উচিত হবে।
ক্যাশে হ'ল স্টোর, ক্যাশে ক্যাশে।
নির্বাচিতভাবে ক্যাশে ব্যবহার করুন
এই উদাহরণটি দেখুন:
function my_get_some_value($key) {
// by default no cache when debug and if no external object_cache
$defUse = ! (defined('WP_DEBUG') && WP_DEBUG) && wp_using_ext_object_cache();
// make the usage of cache filterable
$useCache = apply_filters('my_use_cache', $defUse);
// return cached value if any
if ($useCache && ($cached = get_transient($key))) {
return $cached;
}
// no cached value, make sure your code works with no cache
$value = my_get_some_value_in_some_expensive_way();
// set cache, if allowed
$useCache and set_transient($key, $value, HOUR_IN_SECONDS);
return $value;
}
আপনার ব্যক্তিগত সাইটে এই জাতীয় কোড ব্যবহার করে সাইটের পারফরম্যান্স অনেক উন্নতি করতে পারে , বিশেষত আপনার যদি প্রচুর ব্যবহারকারী থাকে।
মনে রাখবেন যে:
- ডিবাগ চালু হওয়ার সময় ডিফল্টরূপে ক্যাশে ব্যবহৃত হয় না, তাই আশা করি আপনার বিকাশের পরিবেশ নিয়ে on বিশ্বাস করুন, ক্যাশে ডিবাগটিকে নরক করতে পারে
- ডিফল্টরূপে ক্যাশটি ব্যবহার করা হয় না যখন ডাব্লুপি বহিরাগত অবজেক্ট ক্যাশে ব্যবহার করার জন্য সেট করা থাকে না। এর অর্থ হ'ল মাইএসকিউএলে সংযুক্ত সমস্ত সমস্যার অস্তিত্ব নেই, কারণ আপনি যখন মাইএসকিউএল ব্যবহার করেন তখন আপনি কোনও ক্ষণস্থায়ী ব্যবহার করেন না। সম্ভবত একটি সহজ বিকল্প
wp_cache_*
ফাংশন ব্যবহার করা হবে , সুতরাং যদি কোনও বাহ্যিক ক্যাশে সেটআপ না করা থাকে, তবে ক্যাশে মেমরিতে ঘটে এবং ডাটাবেস কখনও জড়িত না।
- আপনার মুখোমুখি হতে পারে এমন কয়েকটি প্রান্তের কেসগুলি পরিচালনা করতে ক্যাশের ব্যবহার ফিল্টারযোগ্য
কোনও ওয়েবসাইট না হলে ক্যাশে নেই ale
আপনার ক্যাশে দিয়ে গতির সমস্যাগুলি সমাধান করার চেষ্টা করা উচিত নয়। আপনার যদি গতির সমস্যা হয় তবে আপনার কোডটি পুনরায় চিন্তা করা উচিত।
কিন্তু ওয়েবসকেলে কোনও ওয়েবসাইট স্কেল করতে ক্যাশেটি বেশ প্রয়োজনীয় ।
এবং অনেক বার (তবে সর্বদা নয়) খণ্ড, প্রসঙ্গ-সচেতন ক্যাশে আক্রমণাত্মক পূর্ণ পৃষ্ঠার ক্যাচিংয়ের চেয়ে অনেক বেশি নমনীয় এবং উপযুক্ত।
তোমার প্রশ্নগুলো:
আমার কি এখানে ট্রান্সিয়েন্ট এপিআই ব্যবহার করা উচিত?
এটা নির্ভর করে ।
আপনার কোডটি কি প্রচুর সংস্থান গ্রহণ করে? যদি তা না হয় তবে ক্যাশের দরকার নেই। যেমনটি বলা হয়েছে, কেবল গতির বিষয় নয়। যদি আপনার কোডটি দ্রুত চালিত হয় তবে এটিতে দু'জন ব্যবহারকারীদের জন্য একগুচ্ছ সিপিইউ এবং মেমরি দরকার ... আপনি যখন 100 বা 1000 সমবর্তী ব্যবহারকারী রয়েছেন তখন কী ঘটবে?
যদি আপনি বুঝতে পারেন ক্যাশে একটি ভাল ধারণা হবে ..
... এবং এটি সর্বজনীন কোড: সম্ভবত না । আপনি ক্যাশে নির্বাচন করে বিবেচনা করতে পারেন যেমন আমার সার্বজনীন কোডে আমার উদাহরণের মতো, তবে আপনি যদি এই ধরনের সিদ্ধান্ত প্রয়োগকারীদের উপর ছেড়ে দেন তবে সাধারণত ভাল।
... এবং এটি ব্যক্তিগত কোড: খুব সম্ভবত হ্যাঁ । এমনকি প্রাইভেট কোডের জন্যও, নির্বাচিতভাবে ক্যাশে দেওয়া এখনও ভাল জিনিস, উদাহরণস্বরূপ ডিবাগের জন্য।
মনে রাখবেন, যাইহোক, সেই wp_cache_*
ফাংশনগুলি আপনাকে দূষিত ডাটাবেসের ঝুঁকি ছাড়াই ক্যাশে অ্যাক্সেস দিতে পারে।
আমার কি ট্রান্সিয়েন্ট এপিআই ব্যবহার করা উচিত $ সম্পর্কিত_পোস্ট অ্যারে, বা $ এইচটিএমএল_আউটপুট স্ট্রিংয়ে?
এটি অনেক কিছুর উপর নির্ভর করে। স্ট্রিং কত বড়? আপনি কোন বাহ্যিক ক্যাশে ব্যবহার করছেন? আপনি যদি ক্যাশে পোস্টে যাচ্ছেন তবে অ্যারে হিসাবে আইডি সংরক্ষণ করা ভাল ধারণা হতে পারে, তাদের আইডি দ্বারা একটি শালীন সংখ্যা জিজ্ঞাসা করা খুব দ্রুত।
চূড়ান্ত নোটস
ট্রান্সিয়েন্ট এপিআই সম্ভবত ওয়ার্ডপ্রেসের অন্যতম সেরা জিনিস। যে কোনও ধরণের ক্যাশে সিস্টেমের জন্য আপনি যে প্লাগিনগুলি খুঁজে পেতে পারেন তার জন্য ধন্যবাদ, এটি হুডের নিচে কাজ করতে পারে এমন একটি দুর্দান্ত সংখ্যক সফ্টওয়্যারের বোকা সহজ এপিআই হয়ে ওঠে।
ওয়ার্ডপ্রেসের বাইরে, এমন বিমূর্ততা যা বিভিন্ন ক্যাচিং সিস্টেমের একটি গোছা সহ বাক্সের বাইরে কাজ করে এবং কোনও প্রচেষ্টা ছাড়াই আপনাকে একটি সিস্টেম থেকে অন্য সিস্টেমে স্যুইচ করার অনুমতি দেয় এটি খুঁজে পাওয়া খুব কঠিন।
আপনি খুব কমই আমাকে শুনতে পেয়েছেন যে ওয়ার্ডপ্রেস অন্যান্য আধুনিক জিনিসের চেয়ে ভাল, তবে আমি যখন ওয়ার্ডপ্রেসের সাথে কাজ না করি তখন আমি মিস করি এমন কয়েকটি জিনিসের মধ্যে ক্ষণস্থায়ী এপিআই হ'ল।
অবশ্যই ক্যাশে শক্ত, কোড সংক্রান্ত সমস্যাগুলি সমাধান করে না এবং এটি কোনও রূপালী বুলেট নয়, তবে এটি একটি উচ্চ ট্র্যাফিক সাইট তৈরি করার দরকার যা কাজ করে।
ক্যাশে করার জন্য একটি আন্ডার-অপ্টিমাইজড মাইএসকিউএল টেবিল ব্যবহার করার ওয়ার্ডপ্রেস ধারণাটি যথেষ্ট উন্মাদ, তবে কেবলমাত্র ওয়ার্ডপ্রেস, ডিফল্টরূপে এটি করার কারণে নিজেকে ক্যাশে থেকে দূরে রাখা ভাল নয়।
আপনার কীভাবে জিনিসগুলি কাজ করে তা বুঝতে হবে, তারপরে আপনার পছন্দটি বেছে নিন।