Mereka tidak identik. Memcache lebih tua tetapi memiliki beberapa keterbatasan. Saya menggunakan aplikasi saya dengan baik sampai saya menyadari bahwa Anda tidak dapat menyimpan FALSE
literal dalam cache. Nilai FALSE
dikembalikan dari cache sama dengan FALSE dikembalikan ketika nilai tidak ditemukan di cache. Tidak ada cara untuk memeriksa yang mana. Memcached memiliki metode tambahan (antara lain) Memcached::getResultCode
yang akan memberi tahu Anda apakah kunci ditemukan.
Karena keterbatasan ini saya beralih untuk menyimpan array kosong daripada FALSE
dalam cache. Saya masih menggunakan Memcache, tetapi saya hanya ingin menampilkan info ini untuk orang-orang yang sedang memutuskan.
(Sebagian Dicuri dari ServerFault)
Saya pikir keduanya secara fungsional sama, tetapi mereka hanya memiliki penulis yang berbeda, dan yang satu dinamai lebih tepat daripada yang lain.
Berikut adalah latar belakang cepat dalam konvensi penamaan (untuk mereka yang tidak terbiasa), yang menjelaskan frustrasi oleh penanya:Untuk banyak aplikasi * nix, bagian yang berfungsi backend disebut "daemon" (pikirkan "layanan" di Windows- land), sedangkan antarmuka atau aplikasi klien adalah apa yang Anda gunakan untuk mengontrol atau mengakses daemon. Daemon paling sering dinamai sama dengan klien, dengan huruf "d" ditambahkan padanya. Misalnya "imap" akan menjadi klien yang terhubung ke daemon "imapd".
Konvensi penamaan ini jelas dipatuhi oleh memcache ketika Anda membaca pengantar modul memcache (perhatikan perbedaan antara memcache dan memcache dalam kutipan ini):
Modul memcache menyediakan antarmuka prosedural dan berorientasi objek yang praktis untuk memcache, daemon caching yang sangat efektif, yang dirancang khusus untuk mengurangi beban basis data dalam aplikasi web dinamis.
Modul Memcache juga menyediakan penangan sesi (memcache).
Informasi lebih lanjut tentang memcache dapat ditemukan di »http://www.danga.com/memcached/.
Frustrasi di sini disebabkan oleh pembuat ekstensi PHP yang bernama buruk memcache, karena memiliki nama yang sama dengan daemon sebenarnya yang disebut memcache. Perhatikan juga bahwa di pengantar memcached (modul php), disebutkan libmemcached, yang merupakan pustaka bersama (atau API) yang digunakan oleh modul untuk mengakses daemon memcache:
memcached adalah sistem caching objek memori terdistribusi berkinerja tinggi, bersifat umum, tetapi dimaksudkan untuk digunakan dalam mempercepat aplikasi web dinamis dengan mengurangi beban database.
Ekstensi ini menggunakan perpustakaan libmemcached untuk menyediakan API untuk berkomunikasi dengan server memcache. Ekstensi ini juga menyediakan pengendali sesi (memcache).
Informasi tentang libmemcached dapat ditemukan di »http://tangent.org/552/libmemcached.html.