{"id":33467,"date":"2025-11-03T06:40:50","date_gmt":"2025-11-03T03:40:50","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33467"},"modified":"2025-11-03T06:40:50","modified_gmt":"2025-11-03T03:40:50","slug":"mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/","title":{"rendered":"MySQL&#8217;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>MySQL&#8217;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber<\/h2>\n<p>Modern web uygulamalar\u0131 ve b\u00fcy\u00fck \u00f6l\u00e7ekli sistemler, veri eri\u015fiminde h\u0131z ve esneklik aray\u0131\u015f\u0131ndad\u0131r. Geleneksel ili\u015fkisel veritabanlar\u0131 (RDBMS) olan MySQL, veri tutarl\u0131l\u0131\u011f\u0131 ve karma\u015f\u0131k sorgulama yetenekleri a\u00e7\u0131s\u0131ndan g\u00fc\u00e7l\u00fc olsa da, basit anahtar-de\u011fer (key-value) tabanl\u0131 verilere eri\u015fimde veya y\u00fcksek okuma y\u00fcklerinde performans darbo\u011fazlar\u0131 ya\u015fayabilir. \u0130\u015fte bu noktada NoSQL veritabanlar\u0131n\u0131n sundu\u011fu esneklik ve h\u0131z devreye girer. Ancak mevcut MySQL altyap\u0131s\u0131n\u0131 terk etmek her zaman pratik veya m\u00fcmk\u00fcn de\u011fildir. Bu makale, MySQL&#8217;in memcached eklentisi arac\u0131l\u0131\u011f\u0131yla, NoSQL benzeri anahtar-de\u011fer sorgular\u0131n\u0131 Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r. Bu entegrasyon, MySQL&#8217;in kal\u0131c\u0131l\u0131k ve tutarl\u0131l\u0131k avantajlar\u0131n\u0131 korurken, memcached&#8217;in sa\u011flad\u0131\u011f\u0131 y\u00fcksek performansl\u0131 anahtar-de\u011fer eri\u015fiminden faydalanman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>MySQL ve memcached Entegrasyonunun Temelleri<\/h3>\n<p>MySQL, \u00f6zellikle InnoDB depolama motoruyla birlikte, memcached protokol\u00fcn\u00fc do\u011frudan destekleyen bir eklenti sunar. Bu eklenti, ayr\u0131 bir memcached sunucusu kurma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r ve memcached istemcileri taraf\u0131ndan g\u00f6nderilen anahtar-de\u011fer isteklerini do\u011frudan bir MySQL tablosuna y\u00f6nlendirir. Bu sayede, SQL sorgular\u0131 yazmaya gerek kalmadan, <code>GET<\/code>, <code>SET<\/code>, <code>ADD<\/code>, <code>DELETE<\/code> gibi standart memcached komutlar\u0131yla MySQL verilerine eri\u015fim sa\u011flanabilir. Bu yakla\u015f\u0131m, \u00f6zellikle \u00f6nbellekleme, oturum y\u00f6netimi veya basit anahtar-de\u011fer depolama gerektiren senaryolarda \u00f6nemli performans art\u0131\u015flar\u0131 sunar.<\/p>\n<p>Ubuntu 14.04, art\u0131k desteklenmeyen eski bir i\u015fletim sistemi olmas\u0131na ra\u011fmen, bu rehber belirli bir proje veya eski sistem ba\u011flam\u0131nda bu entegrasyonu ger\u00e7ekle\u015ftirmek isteyenler i\u00e7in haz\u0131rlanm\u0131\u015ft\u0131r. Temel prensipler daha yeni MySQL s\u00fcr\u00fcmlerinde de ge\u00e7erli olsa da, kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131nda k\u00fc\u00e7\u00fck farkl\u0131l\u0131klar olabilir.<\/p>\n<h4>Neden MySQL ile memcached Kullanmal\u0131?<\/h4>\n<p>1.  <strong>Performans Art\u0131\u015f\u0131:<\/strong> SQL sorgular\u0131n\u0131n ayr\u0131\u015ft\u0131rma ve optimize edilme maliyeti ortadan kalkar. Do\u011frudan anahtar-de\u011fer eri\u015fimi, \u00f6zellikle y\u00fcksek hacimli okuma i\u015flemlerinde milisaniyeler d\u00fczeyinde h\u0131zlanma sa\u011flar.<br \/>\n2.  <strong>Veritaban\u0131 Y\u00fck\u00fcn\u00fcn Azalmas\u0131:<\/strong> Uygulamalar\u0131n veritaban\u0131na do\u011frudan SQL sorgular\u0131 g\u00f6ndermek yerine memcached protokol\u00fcn\u00fc kullanmas\u0131, MySQL sunucusundaki CPU ve I\/O y\u00fck\u00fcn\u00fc \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<br \/>\n3.  <strong>Basit Uygulama Mimarisi:<\/strong> Belirli veri t\u00fcrleri i\u00e7in NoSQL benzeri bir aray\u00fcz sunarken, verilerin kal\u0131c\u0131l\u0131\u011f\u0131 ve tutarl\u0131l\u0131\u011f\u0131 i\u00e7in MySQL&#8217;in ACID \u00f6zelliklerinden faydalanmaya devam edersiniz. Bu, ayr\u0131 bir NoSQL veritaban\u0131 y\u00f6netimi y\u00fck\u00fcn\u00fc ortadan kald\u0131r\u0131r.<br \/>\n4.  <strong>Mevcut Altyap\u0131dan Faydalanma:<\/strong> Zaten bir MySQL altyap\u0131n\u0131z varsa, yeni bir veritaban\u0131 teknolojisi \u00f6\u011frenme ve da\u011f\u0131tma maliyetine katlanmadan NoSQL benzeri yetenekler kazanabilirsiniz.<br \/>\n5.  <strong>\u00d6nbellekleme Mekanizmas\u0131:<\/strong> Entegrasyon, veritaban\u0131 tabanl\u0131 bir \u00f6nbellekleme katman\u0131 olarak i\u015flev g\u00f6rebilir. S\u0131k eri\u015filen veriler memcached \u00fczerinden an\u0131nda al\u0131nabilir.<\/p>\n<h4>S\u0131n\u0131rlamalar<\/h4>\n<p>*   <strong>Sorgu K\u0131s\u0131tlamalar\u0131:<\/strong> Bu y\u00f6ntem, karma\u015f\u0131k SQL sorgular\u0131n\u0131n (JOIN, GROUP BY, ORDER BY vb.) yerine ge\u00e7mez. Sadece anahtar-de\u011fer tabanl\u0131 basit CRUD (Olu\u015fturma, Okuma, G\u00fcncelleme, Silme) i\u015flemleri i\u00e7in uygundur.<br \/>\n*   <strong>Tablo Yap\u0131s\u0131:<\/strong> Entegrasyon i\u00e7in kullan\u0131lacak tablonun belirli bir anahtar-de\u011fer yap\u0131s\u0131na sahip olmas\u0131 gerekir.<br \/>\n*   <strong>Yap\u0131land\u0131rma Karma\u015f\u0131kl\u0131\u011f\u0131:<\/strong> \u0130lk kurulum ve yap\u0131land\u0131rma, standart bir MySQL kurulumuna g\u00f6re biraz daha karma\u015f\u0131k olabilir.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> memcached protokol\u00fc genellikle kimlik do\u011frulama olmadan \u00e7al\u0131\u015f\u0131r. Bu nedenle, memcached eklentisinin yaln\u0131zca g\u00fcvenli, i\u00e7 a\u011flardan eri\u015filebilir olmas\u0131 \u00f6nemlidir.<\/p>\n<h3>Ubuntu 14.04 \u00dczerinde \u00d6n Gereksinimler<\/h3>\n<p>Bu rehber i\u00e7in a\u015fa\u011f\u0131daki \u00f6n gereksinimlere sahip oldu\u011funuz varsay\u0131lmaktad\u0131r:<\/p>\n<p>*   <strong>Ubuntu 14.04 Sunucusu:<\/strong> Temel kurulumu yap\u0131lm\u0131\u015f bir Ubuntu 14.04 LTS sunucusu.<br \/>\n*   <strong>MySQL Server:<\/strong> MySQL sunucusunun kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131. Ubuntu 14.04 genellikle MySQL 5.5 veya 5.6 ile gelir. Bu versiyonlar memcached eklentisini destekler.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\n    sudo apt-get install mysql-server<\/code><\/pre>\n<p>    Kurulum s\u0131ras\u0131nda MySQL root kullan\u0131c\u0131s\u0131 i\u00e7in bir parola belirlemeniz istenecektir.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 kullan\u0131m\u0131 ve dosya d\u00fczenleme konular\u0131nda temel bilgi.<br \/>\n*   <strong>memcached \u0130stemcisi:<\/strong> Test i\u00e7in bir memcached istemcisine ihtiyac\u0131n\u0131z olacak. <code>telnet<\/code> veya <code>libmemcached-tools<\/code> paketi (i\u00e7inde <code>memcstat<\/code> gibi ara\u00e7lar bulunur) kullan\u0131labilir.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install telnet libmemcached-tools<\/code><\/pre>\n<h3>MySQL memcached Eklentisinin Kurulumu ve Yap\u0131land\u0131r\u0131lmas\u0131<\/h3>\n<p>MySQL&#8217;in memcached eklentisi, <code>daemon_memcached<\/code> ad\u0131 alt\u0131nda bulunur ve InnoDB depolama motoruyla entegre \u00e7al\u0131\u015f\u0131r.<\/p>\n<h4>1. MySQL Sunucusuna Ba\u011flanma<\/h4>\n<p>\u0130lk olarak, MySQL sunucunuza root kullan\u0131c\u0131s\u0131 olarak ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>Parolan\u0131z\u0131 girmeniz istenecektir.<\/p>\n<h4>2. memcached Eklentisini Y\u00fckleme<\/h4>\n<p>memcached eklentisi, MySQL sunucusunda y\u00fckl\u00fc gelmeyebilir veya etkinle\u015ftirilmemi\u015f olabilir. Y\u00fckl\u00fc olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">SHOW PLUGINS;<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>daemon_memcached<\/code> ve <code>innodb_memcache<\/code> gibi eklentileri aray\u0131n. E\u011fer yoksa, y\u00fcklemeniz gerekir:<\/p>\n<pre><code class=\"language-sql\">INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';\nINSTALL PLUGIN innodb_memcache SONAME 'innodb_memcache.so';<\/code><\/pre>\n<p><strong>Not:<\/strong> <code>libmemcached.so<\/code> ve <code>innodb_memcache.so<\/code> dosyalar\u0131n\u0131n MySQL&#8217;in eklenti dizininde (<code>\/usr\/lib\/mysql\/plugin\/<\/code> gibi) bulundu\u011fundan emin olun. Genellikle MySQL sunucu paketiyle birlikte gelirler. E\u011fer bu komutlar hata verirse, MySQL kurulumunuzun eksik olabilece\u011fini veya eklenti dosyalar\u0131n\u0131n do\u011fru yerde olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/p>\n<p>Eklentiler y\u00fcklendikten sonra, tekrar <code>SHOW PLUGINS;<\/code> komutuyla durumlar\u0131n\u0131 kontrol edin. <code>Status<\/code> s\u00fctununda <code>ACTIVE<\/code> g\u00f6rmelisiniz.<\/p>\n<h4>3. Hedef Veritaban\u0131 ve Tablo Olu\u015fturma<\/h4>\n<p>memcached eklentisi, anahtar-de\u011fer verilerini depolamak i\u00e7in belirli bir MySQL tablosuna ihtiya\u00e7 duyar. Bu tablo, <code>InnoDB<\/code> depolama motorunu kullanmal\u0131d\u0131r. \u00d6rnek olarak, <code>test_db<\/code> ad\u0131nda bir veritaban\u0131 ve <code>cache_data<\/code> ad\u0131nda bir tablo olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE IF NOT EXISTS test_db;\nUSE test_db;\n\nCREATE TABLE cache_data (\n    cache_key VARCHAR(250) NOT NULL PRIMARY KEY,\n    cache_value MEDIUMBLOB,\n    cache_flags INT UNSIGNED,\n    cache_cas BIGINT UNSIGNED,\n    cache_expiration INT UNSIGNED\n) ENGINE=InnoDB;<\/code><\/pre>\n<p>*   <code>cache_key<\/code>: memcached anahtarlar\u0131n\u0131 depolamak i\u00e7in kullan\u0131l\u0131r. <code>PRIMARY KEY<\/code> olmal\u0131d\u0131r.<br \/>\n*   <code>cache_value<\/code>: memcached de\u011ferlerini (veri) depolamak i\u00e7in kullan\u0131l\u0131r. <code>BLOB<\/code> veya <code>MEDIUMBLOB<\/code> gibi ikili veri tipleri genellikle tercih edilir.<br \/>\n*   <code>cache_flags<\/code>: memcached istemcisinin iste\u011fe ba\u011fl\u0131 olarak ayarlayabilece\u011fi bayraklar\u0131 depolamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>cache_cas<\/code>: &#8220;Check And Set&#8221; (CAS) i\u015flemi i\u00e7in kullan\u0131lan benzersiz bir saya\u00e7t\u0131r. Optimistik kilitleme sa\u011flar.<br \/>\n*   <code>cache_expiration<\/code>: Anahtar\u0131n ne zaman sona erece\u011fini belirten Unix zaman damgas\u0131 veya g\u00f6receli saniye say\u0131s\u0131.<\/p>\n<h4>4. memcached Eklentisini Yap\u0131land\u0131rma: <code>containers<\/code> Tablosu<\/h4>\n<p>memcached eklentisi, hangi MySQL tablosunun memcached istekleri i\u00e7in kullan\u0131laca\u011f\u0131n\u0131 <code>innodb_memcache.containers<\/code> tablosu arac\u0131l\u0131\u011f\u0131yla \u00f6\u011frenir. Bu tablo, eklenti y\u00fcklendi\u011finde otomatik olarak olu\u015fturulur.<\/p>\n<p>\u00d6ncelikle, <code>innodb_memcache<\/code> veritaban\u0131na ge\u00e7in ve <code>containers<\/code> tablosunun yap\u0131s\u0131n\u0131 inceleyin:<\/p>\n<pre><code class=\"language-sql\">USE innodb_memcache;\nDESCRIBE containers;<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre><code class=\"language-\">+------------------+---------------------+------+-----+---------+-------+\n| Field            | Type                | Null | Key | Default | Extra |\n+------------------+---------------------+------+-----+---------+-------+\n| name             | varchar(128)        | NO   | PRI | NULL    |       |\n| db_schema        | varchar(128)        | NO   |     | NULL    |       |\n| db_table         | varchar(128)        | NO   |     | NULL    |       |\n| key_columns      | varchar(128)        | NO   |     | NULL    |       |\n| value_columns    | varchar(128)        | NO   |     | NULL    |       |\n| flags_columns    | varchar(128)        | YES  |     | NULL    |       |\n| cas_columns      | varchar(128)        | YES  |     | NULL    |       |\n| expire_columns   | varchar(128)        | YES  |     | NULL    |       |\n| unique_key_name  | varchar(128)        | YES  |     | NULL    |       |\n+------------------+---------------------+------+-----+---------+-------+<\/code><\/pre>\n<p>\u015eimdi, <code>test_db.cache_data<\/code> tablomuzu memcached eklentisine tan\u0131tmak i\u00e7in bu tabloya bir kay\u0131t eklememiz gerekiyor. memcached eklentisi varsay\u0131lan olarak <code>default<\/code> adl\u0131 bir konteyner kullan\u0131r. Bu konteyneri kendi tablomuzla e\u015fle\u015ftirelim:<\/p>\n<pre><code class=\"language-sql\">INSERT INTO containers (name, db_schema, db_table, key_columns, value_columns, flags_columns, cas_columns, expire_columns)\nVALUES ('default', 'test_db', 'cache_data', 'cache_key', 'cache_value', 'cache_flags', 'cache_cas', 'cache_expiration')\nON DUPLICATE KEY UPDATE\ndb_schema='test_db', db_table='cache_data', key_columns='cache_key', value_columns='cache_value', flags_columns='cache_flags', cas_columns='cache_cas', expire_columns='cache_expiration';<\/code><\/pre>\n<p>Bu komut, <code>default<\/code> adl\u0131 konteyneri <code>test_db<\/code> veritaban\u0131ndaki <code>cache_data<\/code> tablosuna ba\u011flar ve memcached alanlar\u0131n\u0131 (anahtar, de\u011fer, bayraklar, CAS, sona erme) tablonun ilgili s\u00fctunlar\u0131yla e\u015fle\u015ftirir. <code>ON DUPLICATE KEY UPDATE<\/code> ifadesi, e\u011fer <code>default<\/code> konteyneri zaten varsa, mevcut kayd\u0131 g\u00fcncelleyecektir.<\/p>\n<h4>5. memcached Eklentisi Parametrelerini Ayarlama<\/h4>\n<p>memcached eklentisinin davran\u0131\u015f\u0131n\u0131 kontrol eden baz\u0131 sistem de\u011fi\u015fkenleri vard\u0131r. Bunlar\u0131 <code>my.cnf<\/code> (Ubuntu 14.04&#8217;te genellikle <code>\/etc\/mysql\/my.cnf<\/code> veya <code>\/etc\/mysql\/conf.d\/<\/code> alt\u0131ndaki bir dosya) dosyas\u0131na ekleyerek veya dinamik olarak ayarlayarak yap\u0131land\u0131rabilirsiniz. <code>my.cnf<\/code> dosyas\u0131na eklemek, MySQL yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda ayarlar\u0131n kal\u0131c\u0131 olmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/mysql\/my.cnf<\/code><\/pre>\n<p><code>[mysqld]<\/code> b\u00f6l\u00fcm\u00fcn\u00fcn alt\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-ini\">[mysqld]\n...\n<h2>memcached eklentisini otomatik y\u00fckle<\/h2>\nplugin-load-add=daemon_memcached.so\nplugin-load-add=innodb_memcache.so\n\n<h2>memcached dinleme portu (varsay\u0131lan 11211)<\/h2>\ndaemon_memcached_option='-p 11211'\n<h2>memcached maksimum ba\u011flant\u0131 say\u0131s\u0131<\/h2>\ndaemon_memcached_option='-c 1024'\n<h2>memcached dinleme IP adresi (g\u00fcvenlik i\u00e7in localhost veya \u00f6zel IP)<\/h2>\ndaemon_memcached_option='-l 127.0.0.1'\n\n<h2>memcached okuma ve yazma i\u015flemlerinin toplu i\u015f boyutlar\u0131<\/h2>\ndaemon_memcached_r_batch_size=1\ndaemon_memcached_w_batch_size=1<\/code><\/pre>\n<p>*   <code>plugin-load-add<\/code>: MySQL sunucusu ba\u015flat\u0131ld\u0131\u011f\u0131nda eklentilerin otomatik olarak y\u00fcklenmesini sa\u011flar.<br \/>\n*   <code>daemon_memcached_option<\/code>: memcached eklentisine komut sat\u0131r\u0131 se\u00e7enekleri iletmenizi sa\u011flar. <code>-p<\/code> portu, <code>-c<\/code> maksimum ba\u011flant\u0131y\u0131 ve <code>-l<\/code> dinleme IP adresini belirler. <strong>G\u00fcvenlik nedeniyle, <code>127.0.0.1<\/code> (localhost) olarak ayarlaman\u0131z \u015fiddetle tavsiye edilir.<\/strong> E\u011fer d\u0131\u015far\u0131dan eri\u015fim gerekiyorsa, bir g\u00fcvenlik duvar\u0131 ile eri\u015fimi k\u0131s\u0131tlad\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n*   <code>daemon_memcached_r_batch_size<\/code> ve <code>daemon_memcached_w_batch_size<\/code>: memcached okuma ve yazma i\u015flemlerinin toplu i\u015f (batch) boyutunu ayarlar. Performans i\u00e7in bu de\u011ferleri optimize etmek gerekebilir, ancak ba\u015flang\u0131\u00e7 i\u00e7in 1 yeterlidir.<\/p>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra MySQL servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service mysql restart<\/code><\/pre>\n<p>MySQL yeniden ba\u015flat\u0131ld\u0131ktan sonra, eklentinin do\u011fru \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in MySQL istemcisine tekrar ba\u011flan\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-sql\">SHOW STATUS LIKE 'Innodb_memcache_num_ops%';<\/code><\/pre>\n<p>E\u011fer \u00e7\u0131kt\u0131daki de\u011ferler s\u0131f\u0131rdan farkl\u0131ysa veya <code>daemon_memcached<\/code> ile ilgili ba\u015fka durum de\u011fi\u015fkenleri g\u00f6r\u00fcn\u00fcyorsa, eklenti b\u00fcy\u00fck olas\u0131l\u0131kla ba\u015far\u0131l\u0131 bir \u015fekilde \u00e7al\u0131\u015f\u0131yordur. Ayr\u0131ca, sistem g\u00fcnl\u00fcklerini (<code>\/var\/log\/mysql\/error.log<\/code> veya <code>syslog<\/code>) kontrol ederek herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 g\u00f6rebilirsiniz.<\/p>\n<h3>MySQL&#8217;e memcached Protokol\u00fc ile Eri\u015fim<\/h3>\n<p>Art\u0131k memcached eklentisi MySQL ile entegre ve yap\u0131land\u0131r\u0131lm\u0131\u015f durumda. Standart bir memcached istemcisi kullanarak MySQL&#8217;deki <code>cache_data<\/code> tablosuna eri\u015febiliriz.<\/p>\n<h4>1. <code>telnet<\/code> ile Test Etme<\/h4>\n<p><code>telnet<\/code> komutu, memcached protokol\u00fcn\u00fc manuel olarak test etmek i\u00e7in basit bir yoldur:<\/p>\n<pre><code class=\"language-bash\">telnet 127.0.0.1 11211<\/code><\/pre>\n<p>Ba\u011flant\u0131 ba\u015far\u0131l\u0131 olursa, bo\u015f bir sat\u0131r g\u00f6receksiniz. \u015eimdi memcached komutlar\u0131n\u0131 girebilirsiniz.<\/p>\n<p>*   <strong>Veri Ekleme (<code>set<\/code>):<\/strong><\/p>\n<pre><code class=\"language-\">set mykey 0 60 11\n    Hello World\n    STORED<\/code><\/pre>\n<p>    Burada:<br \/>\n    *   <code>mykey<\/code>: Anahtar<br \/>\n    *   <code>0<\/code>: Bayraklar (flags)<br \/>\n    *   <code>60<\/code>: Sona erme s\u00fcresi (saniye cinsinden, 60 saniye sonra bu veri sona erecek)<br \/>\n    *   <code>11<\/code>: De\u011ferin bayt cinsinden uzunlu\u011fu (<code>Hello World<\/code> 11 karakterdir)<br \/>\n    *   <code>Hello World<\/code>: De\u011fer<\/p>\n<p>*   <strong>Veri Alma (<code>get<\/code>):<\/strong><\/p>\n<pre><code class=\"language-\">get mykey\n    VALUE mykey 0 11\n    Hello World\n    END<\/code><\/pre>\n<p>*   <strong>Veri G\u00fcncelleme (<code>replace<\/code>):<\/strong><\/p>\n<pre><code class=\"language-\">replace mykey 0 60 13\n    New Value Here\n    STORED<\/code><\/pre>\n<p>*   <strong>Veri Silme (<code>delete<\/code>):<\/strong><\/p>\n<pre><code class=\"language-\">delete mykey\n    DELETED<\/code><\/pre>\n<p>    <code>telnet<\/code> oturumundan \u00e7\u0131kmak i\u00e7in <code>quit<\/code> yaz\u0131n ve Enter&#8217;a bas\u0131n.<\/p>\n<h4>2. MySQL \u0130\u00e7inde Veriyi Kontrol Etme<\/h4>\n<p><code>telnet<\/code> ile yapt\u0131\u011f\u0131n\u0131z i\u015flemlerin MySQL tablosuna yans\u0131y\u0131p yans\u0131mad\u0131\u011f\u0131n\u0131 kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p\nUSE test_db;\nSELECT * FROM cache_data;<\/code><\/pre>\n<p><code>set<\/code> komutuyla ekledi\u011finiz <code>mykey<\/code> ve <code>Hello World<\/code> de\u011ferlerini g\u00f6rmelisiniz. <code>replace<\/code> sonras\u0131 g\u00fcncellenmi\u015f de\u011feri, <code>delete<\/code> sonras\u0131 ise kayboldu\u011funu g\u00f6zlemleyeceksiniz. \u00d6zellikle <code>cache_cas<\/code> s\u00fctununun her <code>set<\/code> veya <code>replace<\/code> i\u015fleminde artt\u0131\u011f\u0131n\u0131 ve <code>cache_expiration<\/code> s\u00fctununda Unix zaman damgas\u0131n\u0131 g\u00f6receksiniz.<\/p>\n<h4>3. Programlama Dilleriyle Eri\u015fim<\/h4>\n<p>Modern programlama dilleri (PHP, Python, Java, Node.js vb.) memcached istemci k\u00fct\u00fcphaneleri sunar. Bu k\u00fct\u00fcphaneler, memcached protokol\u00fc \u00fczerinden veri ekleme, alma, g\u00fcncelleme ve silme i\u015flemlerini kolayca yapman\u0131z\u0131 sa\u011flar.<\/p>\n<p><strong>\u00d6rnek Python Kodu:<\/strong><\/p>\n<pre><code class=\"language-python\">import memcache\n\n<h2>memcached sunucusuna ba\u011flan (MySQL'in memcached eklentisi)<\/h2>\nmc = memcache.Client(['127.0.0.1:11211'])\n\n<h2>Veri ekleme\/g\u00fcncelleme (set)<\/h2>\nif mc.set(\"python_key\", \"Bu Python'dan gelen bir de\u011ferdir.\", time=300):\n    print(\"Veri ba\u015far\u0131yla eklendi.\")\nelse:\n    print(\"Veri eklenirken bir hata olu\u015ftu.\")\n\n<h2>Veri alma (get)<\/h2>\nvalue = mc.get(\"python_key\")\nif value:\n    print(f\"Al\u0131nan de\u011fer: {value}\")\nelse:\n    print(\"Anahtar bulunamad\u0131 veya s\u00fcresi doldu.\")\n\n<h2>Veri silme (delete)<\/h2>\nif mc.delete(\"python_key\"):\n    print(\"Veri ba\u015far\u0131yla silindi.\")\nelse:\n    print(\"Veri silinirken bir hata olu\u015ftu.\")<\/code><\/pre>\n<p>Bu Python \u00f6rne\u011fi, <code>python-memcached<\/code> k\u00fct\u00fcphanesini kullanarak <code>set<\/code>, <code>get<\/code> ve <code>delete<\/code> i\u015flemlerini g\u00f6sterir. Di\u011fer diller i\u00e7in de benzer k\u00fct\u00fcphaneler ve kullan\u0131m \u015fekilleri mevcuttur.<\/p>\n<h3>Geli\u015fmi\u015f Yap\u0131land\u0131rma ve Optimizasyon<\/h3>\n<p><code>innodb_memcache.containers<\/code> tablosunu kullanarak birden fazla MySQL tablosunu memcached arac\u0131l\u0131\u011f\u0131yla eri\u015filebilir hale getirebilirsiniz. Her tablo i\u00e7in ayr\u0131 bir &#8220;konteyner ad\u0131&#8221; tan\u0131mlayarak, memcached istemcisi \u00fczerinden farkl\u0131 tablolar\u0131 hedefleyebilirsiniz. Ancak, MySQL&#8217;in memcached eklentisi varsay\u0131lan olarak yaln\u0131zca <code>default<\/code> konteynerini kullan\u0131r. Farkl\u0131 konteynerleri kullanmak i\u00e7in istemcinin <code>prepend<\/code> komutunu veya \u00f6zel bir memcached istemci k\u00fct\u00fcphanesini kullanmas\u0131 gerekebilir. Genellikle tek bir <code>default<\/code> konteyneri yeterli olur.<\/p>\n<p><strong>Toplu \u0130\u015f Boyutlar\u0131 (<code>daemon_memcached_r_batch_size<\/code>, <code>daemon_memcached_w_batch_size<\/code>):<\/strong> Bu parametreler, memcached eklentisinin bir seferde ka\u00e7 okuma veya yazma i\u015flemini grupland\u0131raca\u011f\u0131n\u0131 belirler. Daha b\u00fcy\u00fck de\u011ferler, a\u011f gecikmesini azaltarak performans\u0131 art\u0131rabilir, ancak ayn\u0131 zamanda bireysel isteklerin gecikmesini de art\u0131rabilir. Uygulaman\u0131z\u0131n i\u015f y\u00fck\u00fcne g\u00f6re bu de\u011ferleri test ederek optimize etmelisiniz. Genellikle 100-1000 aras\u0131 de\u011ferler denenebilir.<\/p>\n<p><strong>G\u00fcvenlik:<\/strong> memcached protokol\u00fc varsay\u0131lan olarak kimlik do\u011frulama sa\u011flamaz. Bu nedenle, <code>daemon_memcached_option='-l 127.0.0.1'<\/code> ile yaln\u0131zca yerel makineden eri\u015fime izin vermek en g\u00fcvenli yakla\u015f\u0131md\u0131r. E\u011fer uygulaman\u0131z farkl\u0131 bir sunucuda \u00e7al\u0131\u015f\u0131yorsa, yaln\u0131zca uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucunun IP adresine eri\u015fim izni vermeli ve bir g\u00fcvenlik duvar\u0131 (ufw) kullanarak di\u011fer t\u00fcm ba\u011flant\u0131lar\u0131 engellemelisiniz.<\/p>\n<pre><code class=\"language-bash\"># Sadece localhost'a izin ver\nsudo ufw default deny incoming\nsudo ufw allow from 127.0.0.1 to any port 11211\nsudo ufw enable<\/code><\/pre>\n<p><strong>\u0130zleme:<\/strong> MySQL&#8217;in <code>SHOW STATUS LIKE 'Innodb_memcache%';<\/code> komutu ile memcached eklentisinin performans\u0131n\u0131 ve istatistiklerini izleyebilirsiniz. Bu, hata ay\u0131klama ve performans optimizasyonu i\u00e7in \u00f6nemlidir.<\/p>\n<h3>Yayg\u0131n Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>*   <strong>Eklenti Y\u00fcklenmiyor:<\/strong><br \/>\n    *   <code>libmemcached.so<\/code> veya <code>innodb_memcache.so<\/code> dosyalar\u0131n\u0131n MySQL&#8217;in eklenti dizininde (<code>\/usr\/lib\/mysql\/plugin\/<\/code>) olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n    *   MySQL sunucusunun hata g\u00fcnl\u00fcklerini (<code>\/var\/log\/mysql\/error.log<\/code>) kontrol edin.<br \/>\n    *   MySQL s\u00fcr\u00fcm\u00fcn\u00fcz\u00fcn memcached eklentisini destekledi\u011finden emin olun.<br \/>\n*   <strong><code>telnet<\/code> ile Ba\u011flanamama:<\/strong><br \/>\n    *   memcached eklentisinin do\u011fru portta (<code>11211<\/code> varsay\u0131lan) ve do\u011fru IP adresinde (<code>127.0.0.1<\/code> \u00f6nerilir) dinledi\u011finden emin olun. <code>my.cnf<\/code> ayarlar\u0131n\u0131 kontrol edin.<br \/>\n    *   MySQL servisini yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n    *   G\u00fcvenlik duvar\u0131 (ufw) kurallar\u0131n\u0131 kontrol edin.<br \/>\n*   <strong>Veriler MySQL Tablosunda G\u00f6r\u00fcnm\u00fcyor:<\/strong><br \/>\n    *   <code>innodb_memcache.containers<\/code> tablosundaki e\u015fle\u015fmenin do\u011fru oldu\u011fundan emin olun (tablo ad\u0131, s\u00fctun adlar\u0131 vb.).<br \/>\n    *   Hedef MySQL tablonuzun (<code>cache_data<\/code>) <code>InnoDB<\/code> depolama motorunu kulland\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <code>cache_key<\/code> s\u00fctununun <code>PRIMARY KEY<\/code> oldu\u011fundan emin olun.<br \/>\n*   <strong><code>ON DUPLICATE KEY UPDATE<\/code> Hatas\u0131:<\/strong> E\u011fer MySQL s\u00fcr\u00fcm\u00fcn\u00fcz bu s\u00f6zdizimini desteklemiyorsa, \u00f6nce <code>DELETE FROM containers WHERE name = 'default';<\/code> komutuyla mevcut kayd\u0131 silip, ard\u0131ndan <code>INSERT<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>MySQL&#8217;e memcached protokol\u00fc ile NoSQL benzeri sorgu yetenekleri eklemek, \u00f6zellikle Ubuntu 14.04 gibi eski sistemlerde bile, mevcut altyap\u0131n\u0131z\u0131 modernize etmek ve belirli i\u015f y\u00fckleri i\u00e7in performans\u0131 art\u0131rmak ad\u0131na g\u00fc\u00e7l\u00fc bir y\u00f6ntemdir. Bu entegrasyon, MySQL&#8217;in g\u00fcvenilirli\u011fini ve kal\u0131c\u0131l\u0131\u011f\u0131n\u0131 korurken, memcached&#8217;in sa\u011flad\u0131\u011f\u0131 d\u00fc\u015f\u00fck gecikmeli anahtar-de\u011fer eri\u015fiminden faydalanman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Ancak, bu \u00e7\u00f6z\u00fcm\u00fcn bir NoSQL veritaban\u0131n\u0131n t\u00fcm yeteneklerini sunmad\u0131\u011f\u0131n\u0131 unutmamak \u00f6nemlidir. Karma\u015f\u0131k sorgular, belge tabanl\u0131 depolama veya grafik veritaban\u0131 gibi \u00f6zel NoSQL \u00f6zelliklerine ihtiyac\u0131n\u0131z varsa, ayr\u0131 bir NoSQL \u00e7\u00f6z\u00fcm\u00fc d\u00fc\u015f\u00fcnmeniz gerekebilir. Bu y\u00f6ntem, daha \u00e7ok \u00f6nbellekleme, oturum y\u00f6netimi veya basit anahtar-de\u011fer depolama gerektiren senaryolarda MySQL&#8217;e NoSQL benzeri bir h\u0131z katman\u0131 eklemek i\u00e7in idealdir.<\/p>\n<p>Ubuntu 14.04&#8217;\u00fcn ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn sona erdi\u011fini ve g\u00fcvenlik g\u00fcncellemeleri almad\u0131\u011f\u0131n\u0131 belirtmekte fayda var. Yeni projeler i\u00e7in daha g\u00fcncel i\u015fletim sistemleri ve MySQL s\u00fcr\u00fcmleri kullan\u0131lmas\u0131 \u00f6nerilir. Ancak mevcut bir Ubuntu 14.04 ortam\u0131nda bu entegrasyonu ger\u00e7ekle\u015ftirmek isteyenler i\u00e7in bu rehber, ad\u0131m ad\u0131m bir yol haritas\u0131 sunmaktad\u0131r. Do\u011fru yap\u0131land\u0131rma ve g\u00fcvenlik \u00f6nlemleriyle, MySQL&#8217;in memcached eklentisi, uygulaman\u0131z\u0131n performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"MySQL&#8217;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\nModern web uygulamalar\u0131 ve b\u00fcy\u00fck \u00f6l\u00e7ekli sistemler, v","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-33467","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MySQL&#039;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MySQL&#039;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"MySQL&#039;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber Modern web uygulamalar\u0131 ve b\u00fcy\u00fck \u00f6l\u00e7ekli sistemler, v\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-03T03:40:50+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"MySQL&#8217;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-11-03T03:40:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/\"},\"wordCount\":2163,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/\",\"name\":\"MySQL'e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-03T03:40:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MySQL&#8217;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MySQL'e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"MySQL'e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber","og_description":"MySQL'e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber Modern web uygulamalar\u0131 ve b\u00fcy\u00fck \u00f6l\u00e7ekli sistemler, v","og_url":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-03T03:40:50+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"14 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"MySQL&#8217;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber","datePublished":"2025-11-03T03:40:50+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/"},"wordCount":2163,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/","name":"MySQL'e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-03T03:40:50+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/mysqle-memcached-ile-nosql-sorgulari-ekleme-ubuntu-14-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MySQL&#8217;e memcached ile NoSQL Sorgular\u0131 Ekleme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33467"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33467\/revisions"}],"predecessor-version":[{"id":33468,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33467\/revisions\/33468"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}