Memcached Nedir ve Kodları Nelerdir ?

Murat Çakmak
2 min readJul 30, 2022

Memcached açık kaynaklı, yüksek performanslı RAM üzerinde verileri depolayan bir caching teknolojisidir.
Milisaniyeden daha kısa sürede yanıt vermeyi destekler ve verileri String (key — value) olarak depolar.

Memcached ve redis arasındaki farkları bir kaç farkı resim üzerinde görebilirsiniz ek olarak kaynak olarak aşağıdan daha detaylı bilgiler alabilirsiniz.

Memcached vs Redis karşılaştırmasına göre seçimi neye yapabiliriz ?

Kapsamlı projeler ve büyük çeşitli verilerde redis, daha minimal projelerde ve çok büyük boyutlarda veri tutulmayacaksa memcached olarak düşünebilirsiniz.

Tabi burada iki teknolojide kullanılabilir hem redis hemde memcached olarak kullanımda olabilir burada ihtiyaca proje hedefine göre değişir. Redis çok fazla imkan ve güç sunmakta ancak memcached biraz daha minimal ön planda olmasıdır.

Docker compose üzerinde memcached tanımlama

docker-compose.yml

memcached:
restart: always
container_name: app-memcached
build:
context: ./docker/images/memcached
dockerfile: Dockerfile
ports:
- "11211:11211"
environment:
MEMCACHED_USERNAME: ${MEMCACHED_USERNAME:-root}
MEMCACHED_PASSWORD: ${MEMCACHED_PASSWORD:-123456}
MEMCACHED_CACHE_SIZE: ${MEMCACHED_CACHE_SIZE:-128}
MEMCACHED_MAX_CONNECTIONS: ${MEMCACHED_MAX_CONNECTIONS:-2000}
MEMCACHED_THREADS: ${MEMCACHED_THREADS:-4}
MEMCACHED_MAX_ITEM_SIZE: ${MEMCACHED_MAX_ITEM_SIZE:-1048576}
networks:
default:
ipv4_address: 172.20.0.50

Dockerfile

FROM bitnami/memcached:1.6.15-debian-11-r20

Memcached client nasıl erişebiliriz ?

telnet <ip_address> <port>
telnet 127.0.0.1 11211
veya
telnet localhost 11211

Memcached Komutları Nelerdir ?

SET

set key_name meta_data expiry_time length_in_bytes
set Test 0 100 5
Hello
STORED

GET

get key_name
get Test
//geriye mesaj dönmez data gelmiş olur.

REPLACE

replace key_name meta_data expiry_time length_in_bytes
replace Test 0 100 11
Hello World

DELETE

delete key_name
delete Test

İstatistikleri görmek için:

stats 
stats items
stats slabst

Tüm Cache verilerini silmek için

flush_all

Kaynak:

--

--