প্রধান কারণ আমি একজন ব্যবহার-কেস হিসাবে আজ দেখতে Redis উপর memcached জন্য উচ্চতর মেমরি দক্ষতা আপনার সাথে পেতে সক্ষম হওয়া উচিত প্লেইন এইচটিএমএল টুকরা ক্যাশিং (বা অনুরূপ অ্যাপ্লিকেশনের)। আপনার যদি নিজের অবজেক্টের বিভিন্ন ক্ষেত্রকে বিভিন্ন মেমক্যাচ কীগুলিতে সঞ্চয় করতে হয়, তবে রেডিস হ্যাশগুলি আরও মেমরির দক্ষ হতে চলেছে, তবে যখন আপনার কাছে বিশাল সংখ্যক কী -> সরল_ স্ট্রিং জোড়া থাকে, মেমচেড আপনাকে প্রতি আইটেম দিতে সক্ষম হয় মেগাবাইট
অন্যান্য জিনিস যা মেমক্যাচ সম্পর্কে ভাল পয়েন্ট:
- এটি কোডের একটি খুব সহজ টুকরো, সুতরাং যদি আপনার কেবলমাত্র এটির কার্যকারিতা প্রয়োজন হয় তবে এটি অনুমিত একটি যুক্তিসঙ্গত বিকল্প, তবে আমি কখনও এটি উত্পাদনে ব্যবহার করি নি।
- এটি বহু-থ্রেডযুক্ত, সুতরাং আপনার যদি কোনও একক-সেট-সেটআপ স্কেল করতে হয় তবে এটি ভাল জিনিস এবং আপনার কেবল একটি উদাহরণ দিয়ে কথা বলা দরকার।
আমি বিশ্বাস করি যে লোকেদের বুদ্ধিমান ক্যাচিংয়ের দিকে এগিয়ে যাওয়া বা যখন তারা রেডিস ডেটা স্ট্রাকচারের মাধ্যমে ক্যাশেড ডেটা কাঠামো সংরক্ষণের চেষ্টা করে তখন রেডিস ক্যাশে হিসাবে আরও বেশি সংবেদনশীল হয়।
রেডিস এলআরইউ এবং মেমক্যাচড এলআরইউয়ের মধ্যে তুলনা।
মেমক্যাচড এবং রেডিস উভয়ই সত্যিকারের এলআরইউ উচ্ছেদগুলি সম্পাদন করে না, তবে কেবল এটির একটি আনুমানিক।
মেমক্যাশে উচ্ছেদটি প্রতিটি-আকারের শ্রেণীর এবং এটির স্ল্যাব বরাদ্দকারীর বাস্তবায়ন বিবরণের উপর নির্ভর করে। উদাহরণস্বরূপ, আপনি যদি কোনও আইটেম একটি নির্দিষ্ট আকারের শ্রেণীর সাথে মানানসই করতে চান, তবে মেমক্যাচড class শ্রেণীর মেয়াদোত্তীর্ণ / সম্প্রতি ব্যবহৃত হয়নি এমন আইটেমগুলি অপসারণ করার চেষ্টা করবে, পরিবর্তে বস্তুটি কী তা বোঝার জন্য বিশ্বব্যাপী চেষ্টা করার চেষ্টা করবে আকার, যা সেরা প্রার্থী।
রেডিস পরিবর্তে maxmemory
আকারের শ্রেণি নির্বিশেষে সমস্ত বস্তুর দিকে সীমা অতিক্রম করার সময় উচ্ছেদের প্রার্থী হিসাবে একটি ভাল বস্তু বাছাই করার চেষ্টা করে , তবে কেবলমাত্র সেরা অবজেক্টকেই নয়, প্রায় কোনও ভাল বস্তু সরবরাহ করতে সক্ষম হয় বৃহত্তর নিষ্ক্রিয়তার সাথে সময়
রেডিস যেভাবে কাজ করে তা হ'ল বেশ কয়েকটি অবজেক্টের নমুনা তৈরি করে, সবচেয়ে দীর্ঘ সময়ের জন্য অলস (অ্যাক্সেস করা হয়নি) এমন একটিটিকে বেছে নেওয়া। যেহেতু রেডিস 3.0.০ (বর্তমানে বিটাতে রয়েছে) অ্যালগরিদমটি উন্নত হয়েছিল এবং উচ্ছেদের জুড়ে একটি ভাল প্রার্থী পুলও গ্রহণ করে, সুতরাং অনুমানের উন্নতি করা হয়েছিল। ইন Redis ডকুমেন্টেশন আপনি কিভাবে এটি কাজ করে সম্পর্কে একটি বিবরণ এবং বিস্তারিত সঙ্গে গ্রাফ জানতে পারেন ।
সরল স্ট্রিং -> স্ট্রিং মানচিত্রের জন্য রেডিসের চেয়ে মেমচেডের কাছে মেমরির আরও ভাল পদক্ষেপ রয়েছে।
রেডিস একটি সফটওয়্যারটির আরও জটিল অংশ, তাই রেডিসে মানগুলি একটি উচ্চ স্তরের প্রোগ্রামিং ল্যাঙ্গুয়েজে থাকা সামগ্রীর সাথে আরও একইভাবে সংরক্ষণ করা হয়: এগুলির সাথে মেমরি পরিচালনার জন্য টাইপ, এনকোডিং, রেফারেন্স গণনা যুক্ত রয়েছে associated এটি রেডিসের অভ্যন্তরীণ কাঠামোটিকে ভাল এবং পরিচালনাযোগ্য করে তোলে, তবে মেমচেডের তুলনায় ওভারহেড রয়েছে যা কেবল স্ট্রিংগুলির সাথে সম্পর্কিত deals
রেডিস যখন আরও মেমরির দক্ষ হতে শুরু করে
রেডিস একটি বিশেষ মেমরি সঞ্চয় উপায়ে ছোট ছোট সামগ্রিক ডেটা সঞ্চয় করতে সক্ষম। উদাহরণস্বরূপ, একটি ছোট রেডিস হ্যাশ কোনও বস্তুর প্রতিনিধিত্ব করে, অভ্যন্তরীণভাবে হ্যাশ টেবিলের সাথে নয়, বাইনারি অনন্য ব্লব হিসাবে সংরক্ষণ করা হয়। সুতরাং প্রতি বস্তুতে একাধিক ক্ষেত্রকে হ্যাশে সেট করা ম্যাকচেডে এন বিচ্ছিন্ন কীগুলি সংরক্ষণ করার চেয়ে কার্যকর।
আপনি আসলে একটি একক জেএসওএন (বা বাইনারি-এনকোডড) ব্লব হিসাবে ম্যাকচেডে কোনও বস্তু সংরক্ষণ করতে পারেন তবে রেডিসের বিপরীতে, এটি আপনাকে স্বাধীন ক্ষেত্রগুলি আনতে বা আপডেট করতে দেবে না।
বুদ্ধিমান ক্যাচিংয়ের প্রসঙ্গে রেডিসের সুবিধা।
রেডিস ডেটা স্ট্রাকচারের কারণে, ক্যাশেটি অবৈধ হয়ে গেলে ধ্বংসকারী অবজেক্টগুলিকে মেমক্যাচ করে ব্যবহৃত সাধারণ প্যাটার্নটি পরে ডিবি থেকে পুনরায় তৈরি করা রেডিস ব্যবহারের আদিম উপায়।
উদাহরণস্বরূপ, কল্পনা করুন আপনাকে সাইটের "সর্বাধিক" বিভাগটি জনপ্রিয় করতে হ্যাকার নিউজে পোস্ট করা সর্বশেষ এন নিউজকে ক্যাশে করতে হবে। আপনি রেডিসের সাথে যা করছেন তা হল একটি নতুন তালিকা প্রবেশ করানো সহ একটি তালিকা (এম আইটেমগুলিতে আবৃত) take আপনি যদি আপনার ডেটার জন্য অন্য স্টোর এবং ক্যাশে হিসাবে রেডিস ব্যবহার করেন তবে আপনি যা করেন তা হ'ল উভয়কেই জনবহুল করা কোনও নতুন আইটেম পোস্ট করা হলে দর্শন (রেডিস এবং ডিবি) পপুলেট করা। কোনও ক্যাশে অবৈধতা নেই।
তবে অ্যাপ্লিকেশনটিতে সর্বদা যুক্তি থাকতে পারে যাতে রেডিস তালিকাটি যদি খালি দেখতে পাওয়া যায়, উদাহরণস্বরূপ একটি সূচনা শেষে, প্রাথমিক দৃশ্যটি ডিবি থেকে পুনরায় তৈরি করা যায়।
বুদ্ধিমান ক্যাচিং ব্যবহার করে রেডিসের সাথে মেমচেডের তুলনায় আরও দক্ষ পদ্ধতিতে ক্যাচিং করা সম্ভব তবে সমস্ত সমস্যা এই প্যাটার্নের জন্য উপযুক্ত নয়। উদাহরণস্বরূপ এইচটিএমএল টুকরা ক্যাশে করা এই কৌশলটি থেকে উপকৃত হতে পারে না।