Memcached Nedir ve Kodları Nelerdir ?
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 ?
- https://github.com/memcached/memcached/wiki/Commands
- https://www.tutorialspoint.com/memcached/index.htm
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: