মেমকেচে বনাম মেমক্যাচ?


76

আমি মেমক্যাচড ব্যবহার করতে চাই

http://www.danga.com/memcached/

আমি এটি মাধ্যমে ইনস্টল করেছি yum install memcached

তবে এখন আমার পিএইচপি সাথে সংযোগ স্থাপন করা দরকার, এবং মেমক্যাচ নামে একটি বর্ধিত এবং ম্যাকচেড নামের একটি রয়েছে? আহা

http://us3.php.net/manual/en/book.memcache.php
http://us3.php.net/manual/en/book.memcached.php

কেউ আমাকে এখানে সঠিক দিকে নির্দেশ করতে পারে .. কোনটি কাজ করছে?

এছাড়াও, স্থানীয় হওয়ার পরেও কি এটির কাজ করার জন্য আমার কোনও বন্দর খোলার দরকার আছে? এটি চালানোর পরে, আমি টেলনেট 127.0.0.1 11211 চেষ্টা করি এবং আমার সংযোগ প্রত্যাখ্যান হয়।


24
আপনি যদি এখন এই প্রশ্নটির দিকে নজর দিচ্ছেন তবে দয়া করে মনে রাখবেন যে গৃহীত উত্তরটি ভুল । কেবলমাত্র নামের উপর ভিত্তি করে কোনও সমাধান বাছাই করা বিপজ্জনক, বিশেষত যখন আরও ভাল নামটির সাথে একটি খারাপ প্রকল্প হয়। আরও তথ্যের জন্য অন্যান্য উত্তর দেখুন।
টাইলার

@ থ্যাঙ্কসयो দয়া করে আপনার চেক করা উত্তরটি আনছেক করুন। এটি আরও দেরিতে এখানে আসা আরও লোককে বিভ্রান্ত করবে। ইতিমধ্যে, আমি ভুল উত্তরটিকে কমিয়ে দিয়েছি এবং অন্যকেও একই পরামর্শ দেওয়ার পরামর্শ দিচ্ছি যতক্ষণ না থ্যাঙ্কিও এটি পরীক্ষা করে দেখার চেষ্টা না করে।
জোদেভন

উত্তর:


24

সংক্ষিপ্ত উত্তর: হয় এক আপনি যা খুঁজছেন হয়, কিন্তু আমার প্রথম পছন্দ মেমক্যাশে হবে (প্রথম এক আপনি তালিকাভুক্ত), বিশুদ্ধরূপে নামকরণের তার সঠিক ব্যবহারের উপর ভিত্তি করে।

এখন আমি এখানে এই সিদ্ধান্তে পৌঁছেছি:

নামকরণের কনভেনশনে (যাঁরা অপরিচিত তাদের জন্য) এখানে একটি দ্রুত পটভূমি রয়েছে, যা প্রশ্নকারী দ্বারা হতাশাকে ব্যাখ্যা করে: অনেক * নিক্স অ্যাপ্লিকেশনগুলির জন্য, যে অংশটি ব্যাকএন্ড কাজ করে তাকে উইন্ডোজ- এ "ডিমন" (ভাবেন "পরিষেবা") বলা হয় ল্যান্ড), ইন্টারফেস বা ক্লায়েন্ট অ্যাপ্লিকেশনটি আপনি ডিমন নিয়ন্ত্রণ বা অ্যাক্সেস করতে ব্যবহার করেন use ডেমনটি প্রায়শই ক্লায়েন্ট হিসাবে একই নাম দেওয়া হয়, এতে "d" অক্ষর যুক্ত হয়। উদাহরণস্বরূপ "ইমামপ" এমন একটি ক্লায়েন্ট হবে যা "ইমামপিডি" ডিমনটির সাথে সংযোগ স্থাপন করে।

এই নামকরণ কনভেনশনটি স্পষ্টতই মেমক্যাশ দ্বারা অনুসরণ করা হয় যখন আপনি মেমক্যাচ মডিউলটির পরিচিতি পড়েন (এই অংশে মেমক্যাচ এবং ম্যাকচেডের মধ্যে পার্থক্যটি লক্ষ্য করুন):

মেমক্যাচ মডিউল মেমক্যাচড, অত্যন্ত কার্যকর ক্যাচিং ডেমনকে হ্যান্ডি প্রসেসরিয়াল এবং অবজেক্ট ওরিয়েন্টেড ইন্টারফেস সরবরাহ করে, যা বিশেষত গতিশীল ওয়েব অ্যাপ্লিকেশনগুলিতে ডেটাবেস লোড হ্রাস করার জন্য ডিজাইন করা হয়েছিল।

মেমক্যাচ মডিউলটি একটি সেশন হ্যান্ডলার (মেমক্যাচ )ও সরবরাহ করে।

মেমচেড সম্পর্কিত আরও তথ্য » http://www.danga.com/memcached/ এ পাওয়া যাবে ।

হতাশা এখানে পিএইচপি এক্সটেনশন যা খারাপভাবে নামে নামকরণ করা হয় লেখক দ্বারা ঘটিত হয় memcached , যেহেতু এটি প্রকৃত ডেমন নামক নামেই অংশীদারি memcached । এটিও লক্ষ করুন যে মেমচেড (পিএইচপি মডিউল) এর পরিচিতিতে , এটি লাইবমেচচেডের উল্লেখ করেছে , যা ভাগ করা লাইব্রেরি (বা এপিআই) যা মডিউল দ্বারা মেম্যাচড ডিমন অ্যাক্সেস করতে ব্যবহৃত হয়:

মেমক্যাচড একটি উচ্চ-কর্মক্ষমতা, বিতরণ মেমরি অবজেক্ট ক্যাচিং সিস্টেম, সাধারণ প্রকৃতির, তবে ডাটাবেস লোডকে হ্রাস করে গতিশীল ওয়েব অ্যাপ্লিকেশনগুলির গতি বাড়ানোর জন্য ব্যবহৃত।

এই এক্সটেনশানটি মেমক্যাচ করা সার্ভারের সাথে যোগাযোগের জন্য API সরবরাহ করতে লাইবমেচড লাইব্রেরি ব্যবহার করে। এটি একটি সেশন হ্যান্ডলার (মেমক্যাচড )ও সরবরাহ করে।

লাইবমেচড সম্পর্কিত তথ্য » http://tangent.org/552/libmemcached.html এ পাওয়া যাবে ।

সংক্ষেপে, উভয় কার্যকরভাবে একই, কিন্তু তাদের সহজভাবে পৃথক লেখক রয়েছে, এবং একজনের নামকরণ করা হয়েছে অন্যটির তুলনায় আরও যথাযথভাবে।


70
প্রকল্পের নামটি কি অন্যটির চেয়ে একটি বাস্তবায়ন বাছাইয়ের উপযুক্ত কারণ?
ডেভিড পাশলে

4
ডেভিড: পুরোপুরি নয় ... তবে আমার পরীক্ষার শেষ অবধি নির্দিষ্ট বাস্তবায়ন ছেড়ে দেওয়ার যথেষ্ট কারণ রয়েছে, যার ফলে কার্যকরভাবে অন্যান্য (গুলি) কে অগ্রাধিকার দেওয়া হয়। আমি সম্ভবত এখনও উপলব্ধ সমস্ত বাস্তবায়ন চেষ্টা করে দেখতে চাই, তবে লেখক দ্বারা সফ্টওয়্যার বর্ণনার প্রযুক্তিগত ত্রুটিগুলি সফ্টওয়্যারটিতে প্রযুক্তিগত ত্রুটিগুলি কী থাকতে পারে তা সম্পর্কে আমাকে অবাক করে তোলে। প্রকৃত সফ্টওয়্যার সম্পর্কে যদিও আমি আপনার মন্তব্যটি পড়েছি, তাই আমি আপনার উত্তরটির জন্য একটি উত্সাহও দিয়েছিলাম। :-)
জেসিকা ম্যাককিনন

4
আমি কখনই ভাবিনি যে "ডি" মেমক্যাচ করে ডিমনকে বোঝায় কিন্তু ক্রিয়াপদের ক্যাশের অতীতের অংশীদার বোঝাতে। এছাড়াও, নতুন ইন্টারফেসটির নাম "মেমক্যাচে" রাখতে পারেননি কারণ ইতিমধ্যে সেই নামের সাথে একটি ছিল।
getFree

9
সমস্যাযুক্ত ডি সম্পর্কে ব্যধি হওয়ার চেয়ে বাগের পরিমাণ এবং প্রসারণ সক্রিয়ভাবে বিকাশিত হয়েছে কি না তা অনেক বেশি গুরুত্বপূর্ণ। গুরুতরভাবে, আপনি এমন কিছু হওয়ার কারণে শেষ পর্যন্ত কোনও এক্সটেনশন পরীক্ষা করার কথা
ভাবেনও

12
এরম, দুটোই কার্যত এক নয় : memcachedউদাহরণস্বরূপ ক্যাস টোকেনকে সমর্থন memcacheকরে , হয় না। আপনার যদি এটির প্রয়োজন হয় তবে আপনি জানেন যে কোনটি (নামযুক্ত বা না) বেছে নেওয়া উচিত।
উইককেন

56

আপনি সম্ভবত পিএইচপি ক্লায়েন্ট তুলনা দেখতে চান ।

সংক্ষিপ্ত সংস্করণ: তারা উভয়ই কাজ করবে, এবং বেশিরভাগ ক্ষেত্রেই কেউ একটি ঠিকঠাক করবে।

অন্যান্য ইস্যু সম্পর্কিত: হ্যাঁ, আপনার করা উচিত telnet 127.0.0.1 11211। খুব কম ফায়ারওয়াল লোকালহোস্টকে নিজের সাথে যোগাযোগ করতে বাধা দেয়। আপনি যদি সংযোগ করতে সক্ষম না হন তবে যাচাই করে মেমক্যাচ করা সত্যিই চলছে তা যাচাই করুন ps auxwww | grep memcached, যা আপনাকে মেমক্যাচ শুরু করার জন্য ব্যবহৃত কমান্ড-লাইন আর্গুমেন্টগুলি প্রদর্শন করবে। আর্গুমেন্টগুলির মধ্যে একটি -p 11211বা অন্য একটি বন্দর নম্বর হওয়া উচিত । man memcachedসমস্ত সম্ভাব্য আর্গুমেন্টের অর্থটি দেখুন ।


2
কিছু সমস্যা সমাধানের পদক্ষেপ যুক্ত করার জন্য আপভোট করুন।
জেসিকা ম্যাককিনন

এটি সত্যই পরিষ্কার উত্তর।
দানিদাচর

@ নেট, উইন্ডোজ এর সমতুল্য কি ps auxwww | grep memcached?
পেসারিয়ার

1
@Pacerier: কটাক্ষপাত superuser.com/questions/415360/... । প্রসেস এক্সপ্লোরার একটি চলমান প্রক্রিয়া সন্ধান এবং এর কমান্ড-লাইন আর্গুমেন্টগুলি দেখার সহজতম উপায়।
নাট

@ পেসারিয়ার যে কমান্ডটি সার্ভার প্রক্রিয়াটি চলছে কিনা তা পরীক্ষা করে দেখছে এবং এটি কীভাবে চালু হয়েছিল তা দেখে।
জেসেন

27

নেটের লিঙ্কটি যেমন পরামর্শ দেয়, উভয়ই সাধারণ ব্যবহারের জন্য পুরোপুরি ভালভাবে কাজ করে। তবে মেমক্যাচড আরও বৈশিষ্ট্যগুলিকে সমর্থন করে যা আপনাকে ম্যাকচেড থেকে সর্বাধিক পারফরম্যান্স পেতে দেয় get বাইনারি প্রোটোকল ক্লায়েন্ট এবং সার্ভারের মধ্যে প্রেরণের জন্য প্রয়োজনীয় ডেটার পরিমাণ হ্রাস করে। মাল্টিজেটস এবং মাল্টিসিটগুলি আপনাকে একই সাথে একাধিক আইটেমগুলি পেতে / সেট করতে দেয়। যদি আপনি খুঁজে পান যে আপনাকে মেমক্যাশের বাইরে আরও বেশি পরিমাণে প্রয়োজন, মেমক্যাচ হ'ল আরও ভাল মডিউল। লাইবমেচড ব্যবহারের পরামর্শ দেয় যে লাইব্রেরি নিজেই কেবলমাত্র পিএইচপি সংস্করণের চেয়ে বেশি অনুকূলিত।

মেমক্যাচ মেমক্যাশের তুলনায় আরও সাম্প্রতিক মডিউল যা কেবল 8 মাস আগে প্রকাশিত হয়েছিল। আপনার যদি পিএইচপি-র কোনও পুরানো সংস্করণ লক্ষ্য করতে হয় তবে আপনি কেবল সত্যই মেমচিচি ব্যবহার করতে পারেন।


দুর্দান্ত ব্যাখ্যা!
জন

21

পুরানো, বাগিগিয়ারটিকে বলা হয় php-memcacheকারণ এটি সবচেয়ে উপযুক্ত নাম বলে মনে হয়েছিল। ডিগ-এ লোকেরা স্বতন্ত্রভাবে বিকশিত হওয়া আরও উন্নততর সংস্করণটির পরিবর্তে নামকরণের php-memcachedস্বার্থে নামকরণ করা হয়েছিল।

কেবলমাত্র নামের নির্ভুলতার ভিত্তিতে যে সমস্ত ব্যক্তি আপনাকে অন্যকে বেছে নেওয়ার পরামর্শ দেয় তাদের কাছে প্রযুক্তিগত পরামর্শ দেওয়ার কোনও ব্যবসা নেই।


6

সম্প্রতি পিএইচপি-মেমক্যাচ ব্যবহার করার পরে, আপনাকে পিএইচপি-মেমক্যাচ করাতে আমাকে নির্দেশ করতে হবে।

এখানে আমার মাথার উপরের দিক থেকে বেশ কয়েকটি কারণ রয়েছে ..

1) কোনও getErrorCode () বা সমতুল্য পদ্ধতি নেই, সুতরাং যদি () মিথ্যা প্রত্যাবর্তন করে তবে ম্যাকচেসে সঞ্চিত মানটি মিথ্যা, বা কোনও ধরণের সমস্যা আছে কিনা তা আপনার কোনও ধারণা নেই।

2) সামঞ্জস্যপূর্ণ হ্যাশিংয়ের জন্য এর হ্যাশিং অ্যালগরিদমটি অন্যান্য বাস্তবায়নের থেকে পৃথক বলে মনে হয় যেমন অনেকগুলি ক্লায়েন্ট লাইব্রেরি লাইবমেচকেড বন্ধ করে দেয়। এর অর্থ হ'ল আপনি যদি একাধিক ভাষার সাথে একই মেমক্যাচে ক্লাস্টার ব্যবহার করতে চান তবে আপনার সম্ভবত এমন সমস্যা হবে যেখানে আপনি পিএইচপি ক্লায়েন্টের সাথে কোনও মূল্য সঞ্চয় করবেন এবং অন্যান্য ক্লায়েন্ট এটি খুঁজে পাবেন না।


3

উভয়ের আজকের মতো ইস্যু রয়েছে। পিইসিএল / মেমক্যাচ পুরানো এবং নির্ভরযোগ্য, কয়েকটি ব্যতিক্রম যেখানে এটি নির্ধারিত is পিইসিএল / মেমচেড করা 1.x সেরা বিটা। কিছু ফাংশন সংখ্যা কীগুলি নিয়ে কাজ করে না, অবিচ্ছিন্ন সংযোগগুলি ব্যবহার করার সময় এটি সংযোগ ফাঁস করে le কিছু (সমস্ত?) গিটহাবে স্থির করা হচ্ছে এবং ২.x এর কিছু সময়ে মুক্তি পাবে, তবে আজ নয়। আরও বিশদ পর্যালোচনার জন্য দেখুন http://brian.moonspot.net/php-memcached-issues


পিইসিএল / মেমচেড করা 1.x এখন স্থিতিশীল; পিইসিএল / মেমক্যাচ ২.x সীমিত; পিইসিএল / মেমকেচে ৩.x অত্যন্ত অস্থির।
aredridel

2

আমি একটি বিশেষজ্ঞ "পিএইচপি এবং মাইএসকিউএল" বইয়ের উপর কাজ করছি। আমি পার্থক্য সম্পর্কে প্রায় একই জিনিস লিখেছি। আমি যা প্রস্তাবিত তা হ'ল পিইসিএল / মেমক্যাচ করা। # 1 - এটি একটি পুরো বৈশিষ্ট্যযুক্ত ভাল পারফরম্যান্স সি গ্রন্থাগার # 2 এর চারপাশে মোড়ানো - এটি আরও সম্প্রতি রক্ষণাবেক্ষণ করা হয়। # 3 - আরও বৈশিষ্ট্য। পিইসিএল / মেমক্যাচে কোনও বিচ্ছিন্নতা নেই।


0

আমার ড্রুপাল with এবং পিএইচপি-পেকল-ম্যাকচেচেডের সাথে বেশ কয়েকটি গুরুতর সমস্যা রয়েছে যার মধ্যে প্রতিক্রিয়ার সময়গুলি কল প্রতি 5 মিমি অবধি দেরী হয়েছিল এবং একটি নির্দিষ্ট সাইটকে পিএইচপি-পেকল-মেমক্যাচড পরিবর্তনের আগে 5x বেশি কল তৈরি করতে বাধ্য করেছিল । পিএইচপি-পেচেল-মেমকেচে পরিবর্তন সমস্ত সমস্যার সমাধান করে; বিলম্ব এবং অতিরিক্ত কল।

এই উত্তরটি এখানে কেবলমাত্র ড্রুপাল 6 এবং সম্ভবত ড্রুপাল 7 ব্যবহার করে তাদের সহায়তা করার জন্য।


-3
  • মেমক্যাচ হ'ল মেমক্যাচ করা একটি ক্লায়েন্ট (সার্ভার)
  • libmemcached মেমক্যাচ করারও একটি ক্লায়েন্ট

এবং মেমক্যাচ করার জন্য অন্যান্য ক্লায়েন্ট রয়েছে, দেখুন http://code.google.com/p/memcached/wiki/Clients

ওয়েব থেকে কাটা এবং পেস্ট করুন:

http://www.php.net/manual/en/intro.memcache.php

  Memcache module provides handy procedural and object oriented 
  interface to memcached, highly effective caching daemon, which was 
  especially designed to decrease database load in dynamic web applications.
The Memcache module also provides a session handler (memcache).
More information about memcached can be found at » www.memcached.org 

http://www.php.net/manual/en/intro.memcached.php

   » memcached (http://www_memcached_org/) is a high-performance, distributed 
  memory object caching system, generic in nature, but intended for use in 
  speeding up dynamic web applications by alleviating database load.
  This extension uses libmemcached library to provide API for communicating with
  memcached servers. It also provides a session handler (memcached).
  Information about libmemcached can be found at 
   » tangent.org/552/libmemcached.html

http://pecl.php.net/package/memcached "libmemcached লাইব্রেরির মাধ্যমে মেমচেডের সাথে ইন্টারফেস করার জন্য পিএইচপি এক্সটেনশন" এই এক্সটেনশনটি মেমক্যাচ করা সার্ভারের সাথে যোগাযোগের জন্য এপিআই সরবরাহ করতে লাইবমেমচেড লাইব্রেরি ব্যবহার করে। https://github.com/andreiz/php-memcached

http://pecl.php.net/package/memcache "মেমক্যাচড এক্সটেনশন" মেমক্যাচ একটি ক্যাচিং ডিমন যা বিশেষত গতিশীল ওয়েব অ্যাপ্লিকেশনগুলির জন্য মেমরিতে অবজেক্টগুলি সঞ্চয় করে ডাটাবেস লোড হ্রাস করার জন্য ডিজাইন করা হয়। এই এক্সটেনশনটি আপনাকে সহজে ওও এবং পদ্ধতিগত ইন্টারফেসের মাধ্যমে ম্যাকচেড সহ কাজ করতে দেয়।

http://code.google.com/p/memcached/wiki/PHPClientComparison

                        pecl/memcache      pecl/memcached
  First Release Date      2004-06-08         2009-01-29 (beta)
  Actively Developed?     Yes                    Yes
  External Dependency     None              libmemcached

6
দীর্ঘ-বায়ুযুক্ত উত্তরটি পোস্টারের জন্য বিষয়গুলি পরিষ্কার করার এমনকি কাছে আসে না। পোস্টারটি ইতিমধ্যে সচেতন রয়েছে যে সেখানে একাধিক ক্লায়েন্ট রয়েছে। তাদের তালিকাভুক্ত করা এবং বিকল্প নাম প্রস্তাব করা, সঠিক নামটি চয়ন করা সহজ করে না।
মার্টিজন হিমেলস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.