{"id":2918,"date":"2022-03-17T00:54:05","date_gmt":"2022-03-17T00:54:05","guid":{"rendered":"https:\/\/bulutistan.com\/blog\/?p=2918"},"modified":"2023-09-08T18:41:02","modified_gmt":"2023-09-08T18:41:02","slug":"redis-nedir","status":"publish","type":"post","link":"https:\/\/bulutistan.com\/blog\/redis-nedir\/","title":{"rendered":"Redis Nedir? Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi?"},"content":{"rendered":"<p>G\u00fc\u00e7l\u00fc ve zengin \u00f6zelliklere sahip bir veri taban\u0131 arayan geli\u015ftiriciler, genellikle Redis&#8217;ten yararlan\u0131r. DB-Engines s\u0131ralamas\u0131na g\u00f6re Redis, \u015fu anda en yayg\u0131n kullan\u0131lan 8. veri taban\u0131 y\u00f6netim sistemdir ve ayn\u0131 zamanda anahtar &#8211; de\u011fer veri tabanlar\u0131 i\u00e7in d\u00fcnya \u00e7ap\u0131nda en pop\u00fcler se\u00e7imdir. Dahas\u0131, <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2019\" target=\"_blank\" rel=\"nofollow noopener\">Stack Overflow&#8217;<\/a>un 2019 ara\u015ft\u0131rmas\u0131na g\u00f6re, Redis, Oracle, MySQL ve Microsoft SQL Server gibi alternatiflerin \u00f6n\u00fcnde &#8220;en sevilen&#8221; veri taban\u0131 teknolojisidir.<\/p>\n<p>Peki Redis tam olarak nedir ve Redis&#8217;in avantajlar\u0131 ve \u00f6zellikleri nelerdir? Bu yaz\u0131da, sizin i\u00e7in do\u011fru veri taban\u0131 teknolojisi olup olmad\u0131\u011f\u0131na karar verebilmeniz i\u00e7in Redis hakk\u0131nda bilmeniz gereken her \u015feyi anlataca\u011f\u0131z.<\/p>\n<p>Haydi ba\u015flayal\u0131m!<\/p>\n<h2 id=\"redis-nedir\"><b>Redis Nedir?<\/b><\/h2>\n<p>Redis &#8211; Remote Dictionary Server (Uzak S\u00f6zl\u00fck Sunucusu); ili\u015fkisel olmayan anahtar\/de\u011fer veri tabanlar\u0131n\u0131 ve \u00f6nbellekleri uygulamak i\u00e7in yayg\u0131n olarak kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir bellek i\u00e7i veri deposudur.<\/p>\n<p>Bu ayr\u0131m \u00f6nemlidir. \u00c7\u00fcnk\u00fc Redis teknik olarak bir veri yap\u0131s\u0131 deposudur ve bir anahtar\/de\u011fer veri taban\u0131 de\u011fildir. Geleneksel anahtar &#8211; de\u011fer veri tabanlar\u0131nda, her anahtar, yorumlanmam\u0131\u015f bir bayt dizisiyle ili\u015fkilendirilen iste\u011fe ba\u011fl\u0131 bir dizedir.<\/p>\n<p>Redis gibi veri yap\u0131s\u0131 depolar\u0131 bu s\u0131n\u0131rlamay\u0131 kald\u0131r\u0131r. Anahtar bir dize veya liste, k\u00fcme, karma, bit dizisi veya ak\u0131\u015f gibi daha karma\u015f\u0131k bir veri yap\u0131s\u0131 olabilir. Bu, geli\u015ftiricilerin birden \u00e7ok Redis kullan\u0131m \u00f6rne\u011finden yararlanmas\u0131n\u0131 sa\u011flar:<\/p>\n<ul>\n<li><strong>Anahtar-de\u011fer veri taban\u0131:<\/strong> Redis, yayg\u0131n olarak, hafif ve verimlidir ve ili\u015fkisel olmayan bir anahtar-de\u011fer veri taban\u0131n\u0131 uygulamak i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin, 1 milyon k\u00fc\u00e7\u00fck anahtar (\u00f6rne\u011fin dizeler) i\u00e7eren bir veri taban\u0131, bellekte yakla\u015f\u0131k 85 megabayt yer kaplar.<\/li>\n<li><strong>\u00d6nbellek<\/strong>: Rastgele verileri depolayabildi\u011fi i\u00e7in Redis, bir uygulama \u00f6nbelle\u011fi de uygulayabilir. Veriler bellekte depolan\u0131r ve \u00f6nbellekten okuma ve \u00f6nbelle\u011fe yazarken m\u00fcmk\u00fcn olan en iyi performans\u0131 sunar.<\/li>\n<li><strong>Message broker<\/strong>: 2.0 s\u00fcr\u00fcm\u00fcnden bu yana Redis, message broker olarak da kullan\u0131lmas\u0131na izin veren yay\u0131nla\/abone ol mesajla\u015fma modelini destekler.<\/li>\n<\/ul>\n<p>Twitter, GitHub ve Pinterest gibi b\u00fcy\u00fck teknoloji \u015firketlerinin tamam\u0131 Redis kullan\u0131yorken, Redis&#8217;in hem pop\u00fcler olmas\u0131 hem de geli\u015ftiriciler aras\u0131nda \u00e7ok sevilmesi \u015fa\u015f\u0131rt\u0131c\u0131 de\u011fildir.<\/p>\n<p>Redis; oyun, iOT, sosyal a\u011f, finansal hizmetler, sa\u011fl\u0131k sekt\u00f6r\u00fc ve reklam teknolojisindeki ger\u00e7ek zamanl\u0131 uygulamalar i\u00e7in saniyede milyonlarca iste\u011fe olanak tan\u0131yan milisaniyenin alt\u0131nda yan\u0131t s\u00fcreleri sunar. Redis ayr\u0131ca; \u00f6nbelle\u011fe alma, oturum y\u00f6netimi, oyun, skor tablolar\u0131, ger\u00e7ek zamanl\u0131 analitik, co\u011frafi konum, ara\u00e7 \u00e7a\u011f\u0131rma, sohbet\/mesajla\u015fma, medya ak\u0131\u015f\u0131 ve pub\/alt uygulamalar i\u00e7in pop\u00fcler bir se\u00e7imdir.<\/p>\n<p>Dizeler, karmalar, listeler, k\u00fcmeler, aral\u0131k sorgular\u0131yla s\u0131ralanm\u0131\u015f k\u00fcmeler, bitmapler, hiperloglar ve yar\u0131\u00e7ap sorgular\u0131yla co\u011frafi uzamsal dizinler gibi veri yap\u0131lar\u0131n\u0131 destekler. LRU tahliyesi, Lua komut dosyas\u0131 olu\u015fturma, yerle\u015fik \u00e7o\u011faltma, i\u015flemlerin yan\u0131 s\u0131ra diskte kal\u0131c\u0131l\u0131\u011f\u0131n farkl\u0131 a\u015famalar\u0131na sahiptir. Redis Sentinel arac\u0131l\u0131\u011f\u0131yla veya otomatik b\u00f6l\u00fcmleme ile Redis Cluster&#8217;dan yararlanarak y\u00fcksek kullan\u0131labilirlikli \u00e7\u00f6z\u00fcmler i\u00e7in yerle\u015fik destek sunar.<\/p>\n<h2 id=\"redisin-ozellikleri-nelerdir\">Redis\u2019in \u00d6zellikleri Nelerdir?<\/h2>\n<p>Redis, ANSI C dilinde yaz\u0131lm\u0131\u015ft\u0131r ve BSD, Linux, OS X gibi POSIX sistemlerinin \u00e7o\u011funda herhangi bir d\u0131\u015f ba\u011f\u0131ml\u0131l\u0131k olmadan \u00e7al\u0131\u015f\u0131r. OS X ve Linux, Redis&#8217;in en \u00e7ok geli\u015ftirildi\u011fi ve test edildi\u011fi iki i\u015fletim sistemi olarak kabul edilirken, Linux ayn\u0131s\u0131n\u0131 da\u011f\u0131tmak i\u00e7in kullan\u0131lm\u0131\u015ft\u0131r. Redis, SmartOS gibi Solaris&#8217;ten t\u00fcretilen sistemlerde de \u00e7al\u0131\u015fabilir. Ne yaz\u0131k ki, Windows yap\u0131lar\u0131 i\u00e7in sa\u011flanan resmi bir destek yoktur, ancak Microsoft, Redis i\u00e7in bir Win-64 ba\u011flant\u0131 noktas\u0131 geli\u015ftirmi\u015f ve s\u00fcrd\u00fcrm\u00fc\u015ft\u00fcr. Redis&#8217;in di\u011fer \u00f6nemli \u00f6zellikleri ise a\u015fa\u011f\u0131daki \u015fekildedir:<\/p>\n<h3 id=\"1-yuksek-duzeyde-veri-yapisi\">1. Y\u00fcksek D\u00fczeyde Veri Yap\u0131s\u0131<\/h3>\n<p>Redis, de\u011ferler i\u00e7in be\u015f olas\u0131 veri se\u00e7ene\u011fi sunar. Bunlar karmalar, listeler, k\u00fcmeler, diziler ve s\u0131ralanm\u0131\u015f k\u00fcmelerdir.<\/p>\n<h3 id=\"2-ustun-performans\">2. \u00dcst\u00fcn Performans<\/h3>\n<p>Bellek i\u00e7i do\u011fas\u0131, karma\u015f\u0131kl\u0131\u011f\u0131n minimumda kalmas\u0131n\u0131 sa\u011flama taahh\u00fcd\u00fc ve olay tabanl\u0131 bir programlama modeli olmas\u0131 nedeniyle, uygulama okuma ve yazma i\u00e7in ola\u011fan\u00fcst\u00fc bir performansa sahiptir.<\/p>\n<h3 id=\"3-son-derece-hafiftir-ve-bagimlilik-yoktur\">3. Son Derece Hafiftir ve Ba\u011f\u0131ml\u0131l\u0131k Yoktur<\/h3>\n<p>Redis, ANSI C dilinde yaz\u0131lm\u0131\u015ft\u0131r ve hi\u00e7bir d\u0131\u015f ba\u011f\u0131ml\u0131l\u0131kla s\u0131n\u0131rl\u0131 de\u011fildir. Program, t\u00fcm POSIX ortamlar\u0131nda m\u00fckemmel \u015fekilde \u00e7al\u0131\u015f\u0131r. Windows platformu Redis i\u00e7in resmi olarak desteklenmemektedir, ancak Microsoft taraf\u0131ndan ayn\u0131 \u015fekilde deneysel bir yap\u0131 sa\u011flanm\u0131\u015ft\u0131r.<\/p>\n<h3 id=\"4-yuksek-kullanilabilirlik\">4. Y\u00fcksek Kullan\u0131labilirlik<\/h3>\n<p>Redis, y\u00fcksek d\u00fczeyde veri kullan\u0131labilirli\u011fi sa\u011flamak i\u00e7in yerle\u015fik deste\u011fe sahiptir. \u015eu anda Redis Sentinel olarak adland\u0131r\u0131lan ve kullan\u0131labilir durumda olan, ancak halen devam eden bir proje olarak kabul edilen y\u00fcksek kullan\u0131labilirlikli bir \u00e7\u00f6z\u00fcm vard\u0131r.<\/p>\n<p>Bulutistan Redis hizmetinin detaylar\u0131na ula\u015fmak i\u00e7in <a href=\"https:\/\/bulutistan.com\/redis\/\" target=\"_blank\" rel=\"noopener\">t\u0131klay\u0131n\u0131z<\/a>.<\/p>\n<h2 id=\"redis-nasil-calisir\">Redis Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<p>Redis, be\u015f farkl\u0131 veri yap\u0131s\u0131ndan biriyle e\u015fle\u015fen anahtarlar\u0131 depolayarak \u00e7al\u0131\u015f\u0131r: STRING&#8217;ler, LIST&#8217;ler, SET&#8217;ler, HASH&#8217;ler ve ZSET&#8217;ler (s\u0131ral\u0131 k\u00fcmeler). Baz\u0131 Redis komutlar\u0131 bu be\u015f veri yap\u0131s\u0131n\u0131n t\u00fcm\u00fc aras\u0131nda payla\u015f\u0131l\u0131rken di\u011ferleri yaln\u0131zca bir veya ikisi taraf\u0131ndan kullan\u0131l\u0131r.<\/p>\n<p>Veri taban\u0131n\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korumak i\u00e7in da\u011f\u0131tabilece\u011finiz d\u00f6rt ana Redis s\u00fcr\u00fcm\u00fc vard\u0131r:<\/p>\n<ul>\n<li>Dikey \u00f6l\u00e7eklenebilirlik ve esneklik i\u00e7ermeyen <b>ba\u011f\u0131ms\u0131z Redis<\/b>.<\/li>\n<li>Tek bir y\u00f6neticinin verileri birden \u00e7ok ba\u011f\u0131ml\u0131 \u00f6\u011feye \u00e7o\u011faltt\u0131\u011f\u0131 <b>Redis master-slave replication<\/b>.<\/li>\n<li>Master-slave sistemini izleyen ve eskisi bozuldu\u011funda yeni bir master&#8217;\u0131 otomatik olarak yeniden yap\u0131land\u0131ran <b>Redis Sentinel<\/b>.<\/li>\n<li>\u00c7ok b\u00fcy\u00fck da\u011f\u0131t\u0131mlar i\u00e7in hem \u00f6l\u00e7eklenebilirlik hem de esneklik sa\u011flamak i\u00e7in \u00e7ok y\u00f6neticili bir mimari kullanan<b> Redis Cluster <\/b>(K\u00fcme)<\/li>\n<\/ul>\n<h2 id=\"redis-nerede-ve-ne-zaman-kullanilir\">Redis Nerede ve Ne Zaman Kullan\u0131l\u0131r?<\/h2>\n<p>Redis\u2019in performans\u0131 olduk\u00e7a y\u00fcksek oldu\u011fundan, temel olarak \u00f6nbelle\u011fe alma amac\u0131yla kullan\u0131l\u0131r. S\u00f6zl\u00fck yap\u0131s\u0131yla saklayabilece\u011fi \u00e7e\u015fitli t\u00fcrler sundu\u011fu i\u00e7in Redis&#8217;in en \u00e7ok parlad\u0131\u011f\u0131 yer buras\u0131d\u0131r.<\/p>\n<p>Bununla birlikte, y\u00fcksek trafik ve statik i\u00e7erik i\u00e7eren tam sayfalar\u0131 \u00f6nbelle\u011fe almak i\u00e7in de Redis&#8217;i kullanabiliriz. Sayfan\u0131n kendisi de\u011fi\u015fime a\u00e7\u0131ksa veya i\u00e7erik dinamik olarak olu\u015fturulmu\u015fsa, Redis veya Memcached kullan\u0131yor olman\u0131za bak\u0131lmaks\u0131z\u0131n hi\u00e7bir durumda \u00f6nbelle\u011fe al\u0131nmamal\u0131d\u0131r. Sayfa \u00e7o\u011funlukla statik i\u00e7erik i\u00e7eriyorsa veya i\u00e7erik her x zaman aral\u0131\u011f\u0131nda yenileniyorsa, o sayfay\u0131 \u00f6nbelle\u011fe alabilir ve hemen sunulmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<p>Redis&#8217;in kullan\u0131labilece\u011fi ba\u015fka bir \u015fey de oturumlar\u0131 saklamakt\u0131r. Kal\u0131c\u0131l\u0131\u011f\u0131 olmayan Memcached&#8217;den farkl\u0131 olarak Redis&#8217;te bu vard\u0131r ve bu, oturum depolamas\u0131na izin verir. Oturumlar\u0131 Redis ile y\u00f6netmek, siteyle etkile\u015fim kurarken kullan\u0131c\u0131 deneyimini de art\u0131r\u0131r.<\/p>\n<p>Kal\u0131c\u0131l\u0131k, kullan\u0131c\u0131 etkile\u015fiminin kritik b\u00f6l\u00fcmlerinde veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in oturumlar\u0131 depolamak i\u00e7in \u00f6nemlidir. \u00d6rne\u011fin, bir \u00f6demenin i\u015flenmesi, al\u0131\u015fveri\u015f sepetine bir \u00f6\u011fenin eklenmesi veya kimli\u011fi do\u011frulanm\u0131\u015f bir kullan\u0131c\u0131 olarak herhangi bir i\u015flem talep edilmesi\u2026<\/p>\n<h2 id=\"redis-kullanim-ornekleri\">Redis Kullan\u0131m \u00d6rnekleri<\/h2>\n<p>A\u015fa\u011f\u0131da Redis\u2019in kullan\u0131m \u00f6rneklerinden baz\u0131lar\u0131n\u0131 bulabilirsiniz:<\/p>\n<h3 id=\"1-oturum-onbellegi\">1. Oturum \u00d6nbelle\u011fi<\/h3>\n<p>Bir\u00e7ok web sitesi, HTML par\u00e7alar\u0131n\u0131 veya sayfalar\u0131n\u0131 \u00f6nbelle\u011fe alarak web sitesi deneyimlerini h\u0131zland\u0131rmak i\u00e7in bir oturum \u00f6nbelle\u011fi olu\u015fturmak i\u00e7in Redis Dizelerinden yararlan\u0131r. Veriler ge\u00e7ici olarak RAM&#8217;de depoland\u0131\u011f\u0131ndan, bu \u00f6zellik Redis&#8217;i oturum \u00f6nbelle\u011fi olarak m\u00fckemmel bir se\u00e7im haline getirir. \u00d6rne\u011fin, bir \u00e7evrimi\u00e7i ma\u011fazadaki bir al\u0131\u015fveri\u015f sepetinde depolanan \u00f6\u011feler gibi kullan\u0131c\u0131ya \u00f6zel verileri ge\u00e7ici olarak saklayabilir. Bu, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n oturumlar\u0131n\u0131 kapatmalar\u0131 veya ba\u011flant\u0131lar\u0131n\u0131 kaybetmeleri durumunda verilerini kaybetmemeleri a\u00e7\u0131s\u0131ndan \u00e7ok \u00f6nemlidir.<\/p>\n<h3 id=\"2-tam-sayfa-onbellegi-full-page-cache-fpc\">2. Tam Sayfa \u00d6nbelle\u011fi &#8211; Full Page Cache (FPC)<\/h3>\n<p>Temel oturum belirte\u00e7lerinizin d\u0131\u015f\u0131nda Redis, i\u00e7inde \u00e7al\u0131\u015fmas\u0131 \u00e7ok kolay bir FPC platformu sa\u011flar. Magento, Redis&#8217;i tam sayfa \u00f6nbellek backend olarak kullanmak i\u00e7in bir eklenti sunar. Ayr\u0131ca, WordPress kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in Pantheon, \u015fimdiye kadar g\u00f6rd\u00fc\u011f\u00fcn\u00fcz en h\u0131zl\u0131 sayfa y\u00fcklemelerini elde etmenize yard\u0131mc\u0131 olacak wp-redis adl\u0131 harika bir eklentiye sahiptir.<\/p>\n<h3 id=\"3-queues\">3. Queues<\/h3>\n<p>Trafik s\u0131k\u0131\u015f\u0131kl\u0131\u011f\u0131, mesajla\u015fma, veri toplama, i\u015f y\u00f6netimi veya paketleyici y\u00f6nlendirme ile ilgilenen herhangi bir uygulama, kaynak da\u011f\u0131t\u0131m\u0131 i\u00e7in geli\u015f ve \u00e7\u0131k\u0131\u015f h\u0131z\u0131na g\u00f6re s\u0131ra boyutunuzu y\u00f6netmenize yard\u0131mc\u0131 olabilece\u011finden, bir Redis Queues\u2019u dikkate almal\u0131d\u0131r.<\/p>\n<h3 id=\"4-leaderboards-counting\">4. Leaderboards\/Counting<\/h3>\n<p>Redis, ger\u00e7ek zamanl\u0131 skor tablolar\u0131 olu\u015fturmak isteyen oyun geli\u015ftiriciler aras\u0131nda pop\u00fcler bir se\u00e7imdir. Kullan\u0131c\u0131 puanlar\u0131na g\u00f6re s\u0131ralanm\u0131\u015f listeyi korurken \u00f6\u011felerin benzersizli\u011fini sa\u011flayan Redis Sorted Set veri yap\u0131s\u0131n\u0131 kullanman\u0131z yeterlidir. Ger\u00e7ek zamanl\u0131 bir dereceli liste olu\u015fturmak, bir kullan\u0131c\u0131n\u0131n puan\u0131n\u0131 her de\u011fi\u015fti\u011finde g\u00fcncellemek kadar kolayd\u0131r. Puan olarak zaman damgalar\u0131n\u0131 kullanarak zaman serisi verilerini i\u015flemek i\u00e7in Sorted Sets\u2019i de kullanabilirsiniz.<\/p>\n<h3 id=\"5-pub-sub\">5. Pub\/Sub<\/h3>\n<p>Redis, yay\u0131nla ve abone ol (Pub\/Sub) komutlar\u0131n\u0131n kullan\u0131m\u0131n\u0131 destekler, kullan\u0131c\u0131lar t\u00fcm uygulama ve hizmetlerinde y\u00fcksek performansl\u0131 sohbet ve mesajla\u015fma hizmetleri tasarlayabilir. Bu, atomik i\u015flemleri ve engelleme yeteneklerini \u00e7al\u0131\u015ft\u0131rmak i\u00e7in liste veri yap\u0131lar\u0131n\u0131 kullanma yetene\u011fini i\u00e7erir.<\/p>\n<h3 id=\"6-gercek-zamanli-analiz\">6. Ger\u00e7ek Zamanl\u0131 Analiz<\/h3>\n<p>Redis, verileri milisaniyenin alt\u0131nda gecikmeyle i\u015fleyebilir; ger\u00e7ek zamanl\u0131 analitik, \u00e7evrimi\u00e7i reklam kampanyalar\u0131 ve yapay zeka g\u00fcd\u00fcml\u00fc makine \u00f6\u011frenimi s\u00fcre\u00e7leri i\u00e7in idealdir.<\/p>\n<p>Sosyal a\u011f siteleri, RSS Beslemeleri, e-ticaret sat\u0131\u015flar\u0131n\u0131 analiz etme, IP adresi izleme, uygunsuz i\u00e7erik filtreleme, soru-cevap platformlar\u0131, g\u00f6rev planlama hizmeti, kullan\u0131c\u0131 g\u00f6nderileri ve profiller, \u00e7oklu depolama gibi ba\u015fka kullan\u0131mlar da vard\u0131r.<\/p>\n<h2 id=\"redis-neden-kullanilmali\">Redis Neden Kullan\u0131lmal\u0131?<\/h2>\n<p>Redis\u2019i kullanman\u0131z i\u00e7in bir\u00e7ok neden vard\u0131r. Bu nedenlerden baz\u0131lar\u0131 a\u015fa\u011f\u0131daki \u015fekildedir:<\/p>\n<h3 id=\"1-hizli-yanit-veri-tabani\">1. H\u0131zl\u0131 yan\u0131t veri taban\u0131<\/h3>\n<p>Verileri bir disk veya kat\u0131 hal s\u00fcr\u00fcc\u00fcs\u00fc (SSD) yerine bellekte depolar, bu nedenle okuma ve yazma i\u015flemlerini ger\u00e7ekle\u015ftirirken yan\u0131t s\u00fcresi di\u011ferlerinden daha h\u0131zl\u0131d\u0131r.<\/p>\n<h3 id=\"2-veri-kaliciligi\">2. Veri kal\u0131c\u0131l\u0131\u011f\u0131<\/h3>\n<p>Redis, s\u00fcre\u00e7 kesintileri i\u00e7in tasarlanm\u0131\u015f kal\u0131c\u0131 disk depolama kullan\u0131r. Redis, verilerin d\u00fczenli anl\u0131k g\u00f6r\u00fcnt\u00fclerini alarak ve kullan\u0131labilir olduklar\u0131nda bunlara de\u011fi\u015fiklikler ekleyerek veri k\u00fcmelerini kal\u0131c\u0131 hale getirebilir. Ard\u0131ndan veri taban\u0131 dayan\u0131kl\u0131l\u0131\u011f\u0131 ve b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flamak i\u00e7in bu veri taban\u0131 yedeklerini iste\u011fe ba\u011fl\u0131 olarak veya otomatik aral\u0131klarla olu\u015fturacak \u015fekilde yap\u0131land\u0131r\u0131labilir.<\/p>\n<h3 id=\"3-rastgele-veri-destegi\">3. Rastgele veri deste\u011fi<\/h3>\n<p>Redis&#8217;te depolanan veriler herhangi bir bi\u00e7imde ve boyutta olabilir. Redis ikili dosyalar i\u00e7in g\u00fcvenlidir, bu nedenle insan taraf\u0131ndan okunabilen metinlerden kodlanm\u0131\u015f ikili dosyalara kadar her t\u00fcrl\u00fc veriyi depolayabilir. Redis&#8217;teki tek bir veri \u00f6\u011fesinin boyutu 0 bayttan 0,5 GB&#8217;a kadar de\u011fi\u015febilir. Bu da hemen hemen her veriyi \u00f6nbelle\u011fe almas\u0131na olanak tan\u0131r.<\/p>\n<h3 id=\"4-anahtar-tabanli-erisim\">4. Anahtar tabanl\u0131 eri\u015fim<\/h3>\n<p>Redis, verilerin depoland\u0131\u011f\u0131 ve anahtarla Redis&#8217;ten al\u0131nd\u0131\u011f\u0131 anahtar\/de\u011fer modeline dayan\u0131r. Anahtar tabanl\u0131 eri\u015fim, son derece verimli eri\u015fim s\u00fcrelerine izin verir ve bu model, verilerle etkile\u015fim i\u00e7in geleneksel GET ve SET semanti\u011fini sa\u011flayan Redis ile do\u011fal olarak \u00f6nbelle\u011fe alma ile e\u015fle\u015fir.<\/p>\n<h3 id=\"5-veri-sona-erme-suresi\">5. Veri sona erme s\u00fcresi<\/h3>\n<p>Redis&#8217;teki anahtarlar, ge\u00e7erlilik s\u00fcresi (TTL) ile ayarlanabilir ve ard\u0131ndan s\u00fcreleri dolar. S\u00fcresi dolana kadar bu t\u00fcr anahtarlara &#8220;ge\u00e7ici&#8221; anahtarlar denir.<\/p>\n<h3 id=\"6-gelistirici-dostu\">6. Geli\u015ftirici dostu<\/h3>\n<p>Redis \u00e7o\u011fu dilde desteklenmektedir (a\u00e7\u0131k kaynak teknolojisi kullanman\u0131n avantaj\u0131 ile). JavaScript, Java, Go, C, C++, C#, Python, Objective-C, PHP gibi diller ve hemen hemen t\u00fcm \u00fcnl\u00fc diller bunu destekler.<\/p>\n<h3 id=\"7-genisletebilirlik\">7. Geni\u015fletebilirlik<\/h3>\n<p>Redis, canl\u0131 bir topluluk taraf\u0131ndan desteklenen a\u00e7\u0131k kaynakl\u0131 bir projedir. Redis a\u00e7\u0131k standartlara dayal\u0131 oldu\u011fundan, a\u00e7\u0131k veri bi\u00e7imlerini destekledi\u011finden ve zengin bir istemci grubuna sahip oldu\u011fundan, sat\u0131c\u0131 veya teknoloji kilitlenmesi yoktur.<\/p>\n<h2 id=\"redisin-dezavanatajlari-nelerdir\"><b>Redis&#8217;in Dezavanatajlar\u0131 Nelerdir?<\/b><\/h2>\n<p>Her kaynak gibi Redis&#8217;in de avantajlar\u0131n\u0131n yan\u0131 s\u0131ra birka\u00e7 dezavantaj\u0131 vard\u0131r. Redis&#8217;i kullan\u0131rken kar\u015f\u0131la\u015f\u0131labilecek baz\u0131 \u00f6nemli zorluklar a\u015fa\u011f\u0131daki \u015fekildedir:<\/p>\n<h3 id=\"1-temel-guvenlik-duzeyi\">1. Temel g\u00fcvenlik d\u00fczeyi<\/h3>\n<p>Redis, yaln\u0131zca bulut sunucusu d\u00fczeyinde temel g\u00fcvenlik (eri\u015fim haklar\u0131 gibi) sa\u011flar. RDBMS, ayr\u0131nt\u0131l\u0131, nesne ba\u015f\u0131na eri\u015fim kontrol listeleri sa\u011flar (role management olarak da bilinir).<\/p>\n<h3 id=\"2-esneklik\">2. Esneklik<\/h3>\n<p>Redis&#8217;te sorgulama dili yoktur, sadece komutlar vard\u0131r. \u0130li\u015fkisel cebir i\u00e7in herhangi bir destek de yoktur. Ki\u015fi herhangi bir ge\u00e7ici sorgu g\u00f6nderemez. T\u00fcm veri eri\u015fimlerinin bir geli\u015ftirici taraf\u0131ndan \u00f6ng\u00f6r\u00fclmesi ve uygun veri eri\u015fim yollar\u0131 tasarlanmas\u0131 gerekir. Bu nedenle esnekli\u011fin kayboldu\u011funa inan\u0131l\u0131r.<\/p>\n<h3 id=\"3-veri-yonetimi\">3. Veri y\u00f6netimi<\/h3>\n<p>T\u00fcm veriler belle\u011fe s\u0131\u011fmal\u0131d\u0131r. RDBMS genellikle disklerdeki bilgi ve verilerin \u00f6nbellek k\u0131sm\u0131n\u0131 bellekte saklar. Bir RDBMS kullanarak, sahip oldu\u011fu bellekten daha fazla veri y\u00f6netilebilir. Redis ile bu m\u00fcmk\u00fcn de\u011fildir.<\/p>\n<h3 id=\"4-kalicilik\">4. Kal\u0131c\u0131l\u0131k<\/h3>\n<p>Redis&#8217;in kal\u0131c\u0131l\u0131k i\u00e7in yaln\u0131zca 2 se\u00e7ene\u011fi vard\u0131r: Normal anl\u0131k g\u00f6r\u00fcnt\u00fc alma ve yaln\u0131zca ekleme dosyalar\u0131. Bunlar\u0131n hi\u00e7biri, yineleme\/geri alma g\u00fcnl\u00fck kayd\u0131, belirli bir noktada kurtarma, blok sa\u011flama toplam\u0131, flashback yetenekleri vb. sunan ger\u00e7ek i\u015flem sunucusu kadar g\u00fcvenli de\u011fildir.<\/p>\n<h3 id=\"5-istemci-destegi\">5. \u0130stemci deste\u011fi<\/h3>\n<p>\u0130stemcilerin Redis k\u00fcmelerini desteklemek i\u00e7in de\u011fi\u015fiklikler yapmas\u0131 gerekir. Redis k\u00fcmeleri uzun s\u00fcredir olmas\u0131na ra\u011fmen, hala onu desteklemeyen baz\u0131 m\u00fc\u015fteriler vard\u0131r.<\/p>\n<h3 id=\"6-destek\">6. Destek<\/h3>\n<p>Ba\u011f\u0131ms\u0131z veri tabanlar\u0131n\u0131n aksine, Redis Clusters (K\u00fcmeleri) yaln\u0131zca tek bir veri taban\u0131n\u0131 (veri taban\u0131 0) destekler. Redis&#8217;te SELECT komutuna izin verilmez.<\/p>\n<h3 id=\"7-olceklenebilirlik\">7. \u00d6l\u00e7eklenebilirlik<\/h3>\n<p>Benzersiz bir Redis \u00f6rne\u011finin \u00f6l\u00e7eklenebilir oldu\u011fu s\u00f6ylenemez. Tek i\u015f par\u00e7ac\u0131kl\u0131 modda yaln\u0131zca bir CPU \u00e7ekirde\u011finde \u00e7al\u0131\u015f\u0131r. \u00d6l\u00e7eklenebilirlik elde etmek i\u00e7in bir dizi Redis \u00f6rne\u011finin da\u011f\u0131t\u0131lmas\u0131 ve ba\u015flat\u0131lmas\u0131 gerekir. Da\u011f\u0131t\u0131m ve payla\u015f\u0131m istemci taraf\u0131nda yap\u0131l\u0131r (bir geli\u015ftiricinin bu y\u00f6nlerle ilgilenmesi gerekir). RDBMS&#8217;lerin \u00e7o\u011fu daha fazla \u00f6l\u00e7eklenebilirlik sunar. Ba\u011flant\u0131 d\u00fczeyinde paralellik sa\u011flar. \u00c7ok \u00e7ekirdekli makinelerin faydalar\u0131ndan yararlanarak \u00e7ok i\u015flemli veya hatta \u00e7ok i\u015f par\u00e7ac\u0131kl\u0131 (MySQL, Microsoft SQL Server gibi) olduklar\u0131 s\u00f6ylenir.<\/p>\n<h2 id=\"redisin-diger-veri-tabani-ve-onbellege-alma-cozumleri-ile-karsilastirmasi\">Redis\u2019in Di\u011fer Veri Taban\u0131 ve \u00d6nbelle\u011fe Alma \u00c7\u00f6z\u00fcmleri \u0130le Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/h2>\n<p>Tabii ki Redis, piyasadaki tek veri taban\u0131 ve \u00f6nbelle\u011fe alma \u00e7\u00f6z\u00fcm\u00fc de\u011fildir. Hazelcast, Apache Ignite ve Memcached gibi Redis alternatifleri de vard\u0131r.<\/p>\n<p>Hem Memcached hem de Redis, y\u00fcksek performansl\u0131 anahtar &#8211; de\u011fer veri tabanlar\u0131d\u0131r. Ancak Redis&#8217;ten farkl\u0131 olarak Memcached, verileri yaln\u0131zca d\u00fcz dize anahtarlar\u0131nda depolayabilir. Redis ise veriler i\u00e7in birden fazla depolama bi\u00e7imini destekler ve verileri diske iki farkl\u0131 \u015fekilde (AOF ve RDB) otomatik olarak yazabilir. Redis ayr\u0131ca \u00f6nbellek \u00e7\u0131karma ilkeleri \u00fczerinde daha esnek kontrol sa\u011flar ve kullan\u0131labilirli\u011fi iyile\u015ftirmek ve beklenmeyen \u00e7\u00f6kmelere dayanmak i\u00e7in veri \u00e7o\u011faltmay\u0131 destekler.<\/p>\n<p>Redis, Hazelcast ve Apache Ignite gibi alternatiflerle kar\u015f\u0131la\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda da daha iyidir. \u00d6rne\u011fin, ne Hazelcast ne de Ignite, Redisson gibi bir \u00fc\u00e7\u00fcnc\u00fc taraf Redis Java istemcisi ile eri\u015febildi\u011finiz zengin Java da\u011f\u0131t\u0131lm\u0131\u015f nesneleri ve koleksiyonlar\u0131 dizisine sahip de\u011fildir.<\/p>\n<p>\u00d6zellikle Redis ve Hazelcast aras\u0131nda \u00f6nemli teknik farkl\u0131l\u0131klar vard\u0131r. Redis tek i\u015f par\u00e7ac\u0131kl\u0131d\u0131r, Hazelcast ise \u00e7ok i\u015f par\u00e7ac\u0131kl\u0131d\u0131r. Redis, \u00e7e\u015fitli veri t\u00fcrlerini verimli bir \u015fekilde y\u00f6netmek i\u00e7in jemalloc bellek ay\u0131r\u0131c\u0131y\u0131 da kullan\u0131rken, Hazelcast, daha b\u00fcy\u00fck uygulamalar\u0131n performans\u0131n\u0131 etkileyebilecek verileri y\u0131\u011f\u0131n \u00fczerinde depolar.<\/p>\n<h2 id=\"redis-cache-ve-depolama-icin-en-iyi-yontem-olabilir-mi\">Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi?<\/h2>\n<p>\u00d6nbellek, gelecekteki verilere daha h\u0131zl\u0131 eri\u015filebilmesi i\u00e7in verilerin depoland\u0131\u011f\u0131 ge\u00e7ici depolamad\u0131r. Dolay\u0131s\u0131yla \u00f6nbelle\u011fe alma, verileri \u00f6nbellekte saklama i\u015flemidir. Redis, disk veya SSD ile veri eri\u015fim gecikmesini, y\u00fcksek aktar\u0131m h\u0131z\u0131n\u0131 azaltmak ve veri taban\u0131 ile uygulaman\u0131n y\u00fck\u00fcn\u00fc hafifletmek i\u00e7in y\u00fcksek d\u00fczeyde kullan\u0131labilir bir bellek i\u00e7i \u00f6nbellek uygulamak i\u00e7in iyi bir se\u00e7imdir. Web sayfas\u0131 \u00f6nbelle\u011fe alma, veri taban\u0131 sorgu sonu\u00e7lar\u0131n\u0131 \u00f6nbelle\u011fe alma, kal\u0131c\u0131 oturum \u00f6nbelle\u011fe alma ve g\u00f6r\u00fcnt\u00fcler, dosyalar ve meta veriler gibi s\u0131k kullan\u0131lan nesnelerin \u00f6nbelle\u011fe al\u0131nmas\u0131, Redis ile \u00f6nbelle\u011fe alma \u00e7\u00f6z\u00fcmlerinin pop\u00fcler \u00f6rnekleridir.<\/p>\n<p>\u00d6zetle diyebiliriz ki, Redis&#8217;i i\u015f uygulamalar\u0131n\u0131z i\u00e7in uygulayaca\u011f\u0131n\u0131z alanlar\u0131 \u00f6\u011frendikten sonra, bu teknolojinin ihtiya\u00e7lar\u0131n\u0131za fayda sa\u011flayabilecek \u00f6l\u00e7eklenebilirlik, y\u00fcksek kullan\u0131labilirlik ve optimum performanstan sa\u011flayabilece\u011fi g\u00fc\u00e7 ve h\u0131zdan yararlanabilirsiniz. Redis, mevcut di\u011fer veri tabanlar\u0131na k\u0131yasla o kadar eski olmayabilir, ancak topluluk taraf\u0131ndan geni\u015f \u00e7apta benimsenmesi ve geni\u015f deste\u011fi, bu arac\u0131n ne kadar g\u00fc\u00e7l\u00fc ve verimli olabilece\u011fini kan\u0131tlar niteliktedir.<\/p>\n","protected":false},"excerpt":{"rendered":"G\u00fc\u00e7l\u00fc ve zengin \u00f6zelliklere sahip bir veri taban\u0131 arayan geli\u015ftiriciler, genellikle Redis&#8217;ten yararlan\u0131r. DB-Engines s\u0131ralamas\u0131na g\u00f6re Redis, \u015fu&hellip;\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_singular_sidebar":"","csco_page_header_type":"","csco_appearance_grid":"","csco_page_load_nextpost":"","csco_post_video_location":[],"csco_post_video_location_hash":"","csco_post_video_url":"","csco_post_video_bg_start_time":0,"csco_post_video_bg_end_time":0},"categories":[15],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Redis Nedir? Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi? - Bulutistan Blog<\/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:\/\/bulutistan.com\/blog\/redis-nedir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Redis Nedir? Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi? - Bulutistan Blog\" \/>\n<meta property=\"og:description\" content=\"G\u00fc\u00e7l\u00fc ve zengin \u00f6zelliklere sahip bir veri taban\u0131 arayan geli\u015ftiriciler, genellikle Redis&#8217;ten yararlan\u0131r. DB-Engines s\u0131ralamas\u0131na g\u00f6re Redis, \u015fu&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bulutistan.com\/blog\/redis-nedir\/\" \/>\n<meta property=\"og:site_name\" content=\"Bulutistan Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-17T00:54:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-08T18:41:02+00:00\" \/>\n<meta name=\"author\" content=\"Bulutistan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bulutistan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/bulutistan.com\/blog\/redis-nedir\/\",\"url\":\"https:\/\/bulutistan.com\/blog\/redis-nedir\/\",\"name\":\"Redis Nedir? Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi? - Bulutistan Blog\",\"isPartOf\":{\"@id\":\"https:\/\/bulutistan.com\/blog\/#website\"},\"datePublished\":\"2022-03-17T00:54:05+00:00\",\"dateModified\":\"2023-09-08T18:41:02+00:00\",\"author\":{\"@id\":\"https:\/\/bulutistan.com\/blog\/#\/schema\/person\/06a4312aff9f5a9fc23e25fe7a27076e\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bulutistan.com\/blog\/redis-nedir\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bulutistan.com\/blog\/#website\",\"url\":\"https:\/\/bulutistan.com\/blog\/\",\"name\":\"Bulutistan Blog\",\"description\":\"Teknolojide Yol Arkada\u015f\u0131n\u0131z\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bulutistan.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/bulutistan.com\/blog\/#\/schema\/person\/06a4312aff9f5a9fc23e25fe7a27076e\",\"name\":\"Bulutistan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/bulutistan.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0b09f693645c754f52af6ce46e1749e1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0b09f693645c754f52af6ce46e1749e1?s=96&d=mm&r=g\",\"caption\":\"Bulutistan\"},\"sameAs\":[\"https:\/\/bulutistan.com\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Redis Nedir? Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi? - Bulutistan Blog","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:\/\/bulutistan.com\/blog\/redis-nedir\/","og_locale":"tr_TR","og_type":"article","og_title":"Redis Nedir? Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi? - Bulutistan Blog","og_description":"G\u00fc\u00e7l\u00fc ve zengin \u00f6zelliklere sahip bir veri taban\u0131 arayan geli\u015ftiriciler, genellikle Redis&#8217;ten yararlan\u0131r. DB-Engines s\u0131ralamas\u0131na g\u00f6re Redis, \u015fu&hellip;","og_url":"https:\/\/bulutistan.com\/blog\/redis-nedir\/","og_site_name":"Bulutistan Blog","article_published_time":"2022-03-17T00:54:05+00:00","article_modified_time":"2023-09-08T18:41:02+00:00","author":"Bulutistan","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Bulutistan","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bulutistan.com\/blog\/redis-nedir\/","url":"https:\/\/bulutistan.com\/blog\/redis-nedir\/","name":"Redis Nedir? Redis Cache ve Depolama \u0130\u00e7in En \u0130yi Y\u00f6ntem Olabilir Mi? - Bulutistan Blog","isPartOf":{"@id":"https:\/\/bulutistan.com\/blog\/#website"},"datePublished":"2022-03-17T00:54:05+00:00","dateModified":"2023-09-08T18:41:02+00:00","author":{"@id":"https:\/\/bulutistan.com\/blog\/#\/schema\/person\/06a4312aff9f5a9fc23e25fe7a27076e"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bulutistan.com\/blog\/redis-nedir\/"]}]},{"@type":"WebSite","@id":"https:\/\/bulutistan.com\/blog\/#website","url":"https:\/\/bulutistan.com\/blog\/","name":"Bulutistan Blog","description":"Teknolojide Yol Arkada\u015f\u0131n\u0131z","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bulutistan.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":"Person","@id":"https:\/\/bulutistan.com\/blog\/#\/schema\/person\/06a4312aff9f5a9fc23e25fe7a27076e","name":"Bulutistan","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/bulutistan.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0b09f693645c754f52af6ce46e1749e1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0b09f693645c754f52af6ce46e1749e1?s=96&d=mm&r=g","caption":"Bulutistan"},"sameAs":["https:\/\/bulutistan.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/posts\/2918"}],"collection":[{"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/comments?post=2918"}],"version-history":[{"count":4,"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/posts\/2918\/revisions"}],"predecessor-version":[{"id":3983,"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/posts\/2918\/revisions\/3983"}],"wp:attachment":[{"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/media?parent=2918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/categories?post=2918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bulutistan.com\/blog\/wp-json\/wp\/v2\/tags?post=2918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}