ফাইল বা ডাটাবেসের চেয়ে ক্যাশিংয়ের কোন পদ্ধতিগুলি পাওয়া যায়?

বর্তমানে আমি ক্যাশ ডেটাতে মাত্র দুটি উপায় জানতে পারি (আমি পিএইচপি ব্যবহার করি কিন্তু আমি অনুমান করি যে এটি বেশিরভাগ ভাষায় প্রয়োগ হবে)।

  1. ফাইলটি ক্যাশে সংরক্ষণ করুন
  2. একটি বড় ডিবি ফিল্ডে ক্যাশে সংরক্ষণ করুন

ক্যাশের অন্য কোনও (সম্ভবত আরও ভালো) উপায় আছে কি এটা কি আসলেই এই সহজ?

0
ro fr hi
আপনি এই প্রশ্ন একটি সঠিক শিরোনাম দিতে পারেন? উদাহরণস্বরূপ "ক্যাশিং ডেটাতে সেরা পদ্ধতি কি?", "ফাইল বা ডেটাবেস ছাড়া অন্য ক্যাশিং পদ্ধতিগুলি কি পাওয়া যায়?", বা অনুরূপ।
যোগ লেখক Bobby Jack, উৎস

4 উত্তর

আপনি মেমরি ক্যাশে করতে পারেন যা আরও দক্ষ। memcached চেষ্টা করুন

0
যোগ

হয়তো আপনি আরও সঠিকভাবে আপনি কি ক্যাশে চান তা স্পষ্ট করতে চান। আপনি ক্যাশে এই সুযোগ আছে:

  • Accessing the Data Base where you cache the data first correctly tuning your RDBMS, then using a layer to delegate the decision to detect multiple queries for the same data (with AdoDB for example.)
  • Extracting calculations from loops in the code so you don't compute the same value multiple times. Here your third way: storing results in the session for the user.
  • Precompiling the PHP code with an extension like APC Cache. This way you don't have to compile the same PHP code for every request.
  • The page sent to the user making sure you're setting the right META tags (do a good thing for the world and don't use ETL at least absolutly necessary); or maybe making dynamic pages completely static (having a batch process that generates .html pages); or by using a proxy cache like Squid.
  • Prefetching and by this I refer all those opportunities you have to improve the user experience just by doing things while the user don't look your way. For example, preloading IMG tags in the HTML file, tunning the RDBMS for prefectching, precomputing results storing complex computations in the database, etc.

আমার অভিজ্ঞতা থেকে, আমি আপনি যে ক্যাশিং জিনিষ সম্পর্কে কথা বলতে শুরু করার আগে আপনার কোড অনেক উন্নত করা যেতে পারে যে আপনি বাজি চাই। উদাহরণস্বরূপ, বিবেচনা করুন, কিভাবে ভালভাবে সাজানো হয় আপনার সাইটের নেভিগেশন নেভিগেশন এবং কিভাবে ভাল আপনি ব্যবহারকারীর অভিজ্ঞতা নিয়ন্ত্রণ। তারপর XDebug এর মতো একটি সরঞ্জামের সাথে আপনার কোড পরীক্ষা করুন।

আপনার এসকিউএল প্রশ্নগুলি কতটুকু ভালভাবে তৈরি করা হয় এবং আপনার টেবিলের ইনডেক্স কতটা ভাল তা যাচাই করুন। তারপর নিয়মাবলী প্রয়োগ করার সুযোগ সন্ধানের জন্য আবার আপনার কোড পরীক্ষা করুন "অনেক বার পড়ুন কিন্তু শুধু একবার লিখুন"

আরও সহজ জিনিসগুলি ইঙ্গিত করার জন্য YSlow মত একটি সহজ সরঞ্জাম ব্যবহার করুন। আবার আপনার ব্রাউজারে যুক্তি তৈরি করার সুযোগ সন্ধানের কোডটি দেখুন (জাভাস্ক্রিপ্টের মাধ্যমে)

0
যোগ

মেম্বিকিচ সেকেন্ডিং করা, সহজ জিনিসগুলি ভাল এবং ডিস্ট্রিবিউশপ এবং সব জ্যাজ যা আপনি যদি এটি খুব প্রয়োজন হতে পারে

0
যোগ

আপনি যদি Apache ব্যবহার করেন তবে আপনি mod_rewrite ব্যবহার করতে পারেন স্ট্যাটিকালি ক্যাশে আপনার ওয়েব পেজগুলি। আপনি পিএইচপি ব্যবহার করছেন বলতে চান, এবং আপনি "/somepage.php" জন্য একটি অনুরোধ আছে আপনার .htaccess ফাইলে আপনি নিম্নলিখিতগুলি রাখেন:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^$ # let's not cache urls with queries
RewriteCond %{REQUEST_METHOD} ^GET$ # or POST/PUT/DELETE requests
RewriteCond static_cache/%{REQUEST_URI} -s # Check that this file exists and is > 0 bytes
RewriteRule (^.*$) static_cache$1 [L] # If all the conditions are met, we rewrite this request to hit the static cache instead

যদি আপনার ক্যাশে ফাঁকা হয়ে যায় তবে অনুরোধটি আপনার PHP স্ক্রিপ্ট দ্বারা স্বাভাবিক হিসাবে পরিচালিত হয়, তাই এখন এটি আপনার PHP স্ক্রিপ্টটি তৈরি করার একটি বিষয় যা ক্যাশের মধ্যে এইচটিএমএল তৈরি করে। এটি করার সবচেয়ে সহজ উপায় আপনার PHP অনুরোধগুলি (এটি আপনার অ্যাপ্লিকেশনের উপর ভিত্তি করে এটি হতে পারে বা একটি ভাল ধারণা হতে পারে না) একটি পিএইচপি ফাইল কয়েকটি শেষে শেষ করার জন্য অন্য htaccess নিয়ম ব্যবহার করছে:

php_value auto_prepend_file "pre_cache.php"
php_value auto_append_file "post_cache.php"

তারপর আপনি এই মত কিছু করতে চাই:

pre_cache.php:

ob_start();

post_cache.php:

$result = ob_get_flush();
if(!$_SERVER['QUERY_STRING']) { # Again, we're not caching query string requests
  file_put_contents("static_cache/" + __FILE__, $result);
}

.htaccess ফাইলের কিছু অতিরিক্ত রেগুলার এক্সপ্রেশন সঙ্গে আমরা সম্ভবত পাশাপাশি ক্যোয়ারী স্ট্রিং অনুরোধ ক্যাসিং শুরু করতে পারে, কিন্তু আমি পাঠক জন্য একটি ব্যায়াম হিসাবে যে ছেড়ে চলে যেতে হবে :)

0
যোগ