{"id":39833,"date":"2026-02-24T12:24:04","date_gmt":"2026-02-24T09:24:04","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/"},"modified":"2026-02-24T12:24:04","modified_gmt":"2026-02-24T09:24:04","slug":"redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/","title":{"rendered":"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?"},"content":{"rendered":"<p><title>CentOS \u00dczerine Redis Kurulumu ve G\u00fcvenli\u011fi: Ad\u0131m Ad\u0131m K\u0131lavuz<\/title><br \/>\n<body><\/p>\n<p>CentOS i\u015fletim sistemi \u00fczerinde Redis&#8217;i kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern uygulamalar i\u00e7in kritik bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, Redis&#8217;in temel \u00f6zelliklerinden ba\u015flayarak, CentOS sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 optimize edece\u011finizi ve en \u00f6nemlisi, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Uygulamal\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla, Redis deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131maya haz\u0131r olun.<\/p>\n<h2>Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zl\u0131 tempolu dijital d\u00fcnyas\u0131nda, uygulamalar\u0131n veri eri\u015fim h\u0131zlar\u0131 kritik bir performans fakt\u00f6r\u00fc haline gelmi\u015ftir. Geleneksel disk tabanl\u0131 veritabanlar\u0131, baz\u0131 durumlarda bu h\u0131z\u0131 sa\u011flamakta yetersiz kalabilir. \u0130\u015fte tam bu noktada Redis (Remote Dictionary Server) devreye giriyor. Redis, bellek i\u00e7i (in-memory) bir veri yap\u0131s\u0131 sunucusu olarak \u00f6ne \u00e7\u0131kar ve anahtar\u0131-de\u011fer (key-value) prensibine dayal\u0131 \u00e7al\u0131\u015f\u0131r. Ancak Redis&#8217;i di\u011fer key-value depolar\u0131ndan ay\u0131ran en \u00f6nemli \u00f6zellik, sadece basit anahtar-de\u011fer \u00e7iftleri depolamakla kalmay\u0131p, ayn\u0131 zamanda listeler, k\u00fcmeler, s\u0131ral\u0131 k\u00fcmeler, hash&#8217;ler ve bit dizileri gibi zengin veri yap\u0131lar\u0131n\u0131 da desteklemesidir. Bu esneklik, Redis&#8217;i sadece bir \u00f6nbellek (cache) \u00e7\u00f6z\u00fcm\u00fc olmaktan \u00e7\u0131kar\u0131p, \u00e7ok y\u00f6nl\u00fc bir veritaban\u0131, mesaj arac\u0131 ve kuyruk sistemi haline getirir.<\/p>\n<p>Peki, \u00f6zellikle CentOS ortam\u0131nda Redis&#8217;i neden tercih etmeliyiz? CentOS, sunucu taraf\u0131nda sa\u011flaml\u0131\u011f\u0131, g\u00fcvenli\u011fi ve geni\u015f topluluk deste\u011fiyle bilinen pop\u00fcler bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Kurumsal d\u00fczeyde uygulamalar i\u00e7in s\u0131k\u00e7a tercih edilen CentOS, Redis gibi y\u00fcksek performansl\u0131 ve kritik sistem bile\u015fenlerini bar\u0131nd\u0131rmak i\u00e7in ideal bir temel sunar. Redis&#8217;in hafif yap\u0131s\u0131 ve y\u00fcksek verimlili\u011fi, CentOS&#8217;un kararl\u0131 ve optimize edilmi\u015f \u00e7ekirde\u011fiyle birle\u015fti\u011finde, uygulamalar\u0131n\u0131z i\u00e7in ola\u011fan\u00fcst\u00fc bir performans art\u0131\u015f\u0131 sa\u011flar. \u00d6rne\u011fin, yo\u011fun trafik alan bir web uygulamas\u0131nda kullan\u0131c\u0131 oturumlar\u0131n\u0131 y\u00f6netmek, s\u0131k eri\u015filen verileri \u00f6nbelleklemek veya ger\u00e7ek zamanl\u0131 analizler yapmak i\u00e7in Redis, CentOS \u00fczerinde g\u00fcvenilir ve h\u0131zl\u0131 bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<p>Bir\u00e7ok geli\u015ftirici ve sistem y\u00f6neticisi, Redis&#8217;in basit API&#8217;si ve \u00e7e\u015fitli programlama dilleri i\u00e7in sundu\u011fu istemci k\u00fct\u00fcphaneleri sayesinde, mevcut uygulamalar\u0131na entegrasyonunun ne kadar kolay oldu\u011funu takdir eder. Ayr\u0131ca, Redis&#8217;in tek i\u015f par\u00e7ac\u0131kl\u0131 (single-threaded) yap\u0131s\u0131, karma\u015f\u0131k kilit mekanizmalar\u0131na ihtiya\u00e7 duymadan atomik i\u015flemler ger\u00e7ekle\u015ftirmesine olanak tan\u0131r, bu da veri tutarl\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r ve geli\u015ftirme s\u00fcrecini basitle\u015ftirir. CentOS&#8217;un g\u00fc\u00e7l\u00fc g\u00fcvenlik \u00f6zellikleri, Redis&#8217;in hassas verileri i\u015flerken gerekli korumay\u0131 sa\u011flamas\u0131na yard\u0131mc\u0131 olur. K\u0131sacas\u0131, Redis&#8217;in h\u0131z\u0131 ve esnekli\u011fi ile CentOS&#8217;un kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenli\u011fi bir araya geldi\u011finde, modern ve talepkar uygulamalar i\u00e7in m\u00fckemmel bir kombinasyon elde edersiniz.<\/p>\n<h3>Redis&#8217;in Temel \u00d6zellikleri ve Avantajlar\u0131 Nelerdir?<\/h3>\n<p>Redis&#8217;i bu kadar pop\u00fcler yapan \u015fey, sundu\u011fu benzersiz \u00f6zellikler ve sa\u011flad\u0131\u011f\u0131 avantajlard\u0131r. \u00d6ncelikle, Redis&#8217;in en temel \u00f6zelli\u011fi bellek i\u00e7i \u00e7al\u0131\u015fmas\u0131d\u0131r. Bu, verilerin do\u011frudan RAM&#8217;de depolanmas\u0131 anlam\u0131na gelir, bu da disk tabanl\u0131 \u00e7\u00f6z\u00fcmlere k\u0131yasla milisaniyelerden mikro saniyelere inen eri\u015fim s\u00fcreleri sunar. Bu h\u0131z, \u00f6zellikle \u00f6nbellekleme (caching) senaryolar\u0131nda paha bi\u00e7ilmezdir. S\u0131k eri\u015filen verileri Redis&#8217;te tutarak, veritaban\u0131 \u00fczerindeki y\u00fck\u00fc azaltabilir ve uygulaman\u0131z\u0131n yan\u0131t s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirebilirsiniz.<\/p>\n<p>\u0130kinci olarak, Redis sadece basit anahtar-de\u011fer \u00e7iftleri de\u011fil, ayn\u0131 zamanda karma\u015f\u0131k veri yap\u0131lar\u0131n\u0131 da destekler. String&#8217;ler, List&#8217;ler (s\u0131ral\u0131 eleman koleksiyonlar\u0131), Set&#8217;ler (benzersiz ve s\u0131ras\u0131z eleman koleksiyonlar\u0131), Sorted Set&#8217;ler (benzersiz ve s\u0131ral\u0131 eleman koleksiyonlar\u0131), Hash&#8217;ler (alan-de\u011fer \u00e7iftleri i\u00e7eren nesneler) ve Bitmaps gibi yap\u0131lar, geli\u015ftiricilere \u00e7ok \u00e7e\u015fitli problem \u00e7\u00f6z\u00fcmleri sunar. \u00d6rne\u011fin, bir sosyal medya uygulamas\u0131nda kullan\u0131c\u0131lar\u0131n takip ettikleri ki\u015fileri bir Set i\u00e7inde tutabilir, mesaj kuyruklar\u0131n\u0131 List&#8217;ler arac\u0131l\u0131\u011f\u0131yla y\u00f6netebilir veya ger\u00e7ek zamanl\u0131 skor tablolar\u0131n\u0131 Sorted Set&#8217;ler ile olu\u015fturabilirsiniz. Bu veri yap\u0131lar\u0131, geli\u015ftiricilere geleneksel veritabanlar\u0131nda ek sorgular veya karma\u015f\u0131k yap\u0131land\u0131rmalar gerektirecek i\u015flemleri Redis i\u00e7inde \u00e7ok daha verimli bir \u015fekilde yapma imkan\u0131 tan\u0131r.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc olarak, Redis atomik i\u015flemler sunar. Bu, bir komutun ya tamamen ba\u015far\u0131yla tamamland\u0131\u011f\u0131 ya da hi\u00e7 \u00e7al\u0131\u015fmad\u0131\u011f\u0131 anlam\u0131na gelir, bu da \u00e7oklu istemci ortamlar\u0131nda veri tutarl\u0131l\u0131\u011f\u0131n\u0131 garanti eder. Ayr\u0131ca, Redis Pub\/Sub (Yay\u0131nla\/Abone Ol) modelini destekleyerek ger\u00e7ek zamanl\u0131 mesajla\u015fma ve bildirim sistemleri i\u00e7in ideal bir platform sunar. Uygulamalar\u0131n\u0131z aras\u0131nda olay tabanl\u0131 ileti\u015fim kurmak veya anl\u0131k bildirimler g\u00f6ndermek istedi\u011finizde, Redis&#8217;in Pub\/Sub yetenekleri olduk\u00e7a i\u015flevseldir. Son olarak, Redis&#8217;in kal\u0131c\u0131l\u0131k (persistence) \u00f6zellikleri sayesinde, bellek i\u00e7i veriler elektrik kesintisi gibi durumlarda kaybolmaz. RDB (Redis Database Backup) ve AOF (Append Only File) mekanizmalar\u0131, verilerin diske d\u00fczenli olarak kaydedilmesini sa\u011flayarak hem h\u0131zl\u0131 eri\u015fimi hem de veri g\u00fcvenli\u011fini bir arada sunar. Bu \u00f6zelliklerin t\u00fcm\u00fc, Redis&#8217;i modern, y\u00fcksek performansl\u0131 ve \u00f6l\u00e7eklenebilir uygulamalar i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline getirir.<\/p>\n<h3>Ger\u00e7ek D\u00fcnya Senaryosu: Bir E-Ticaret Sitesi Redis&#8217;i Nas\u0131l Kullan\u0131r?<\/h3>\n<p>Bir e-ticaret sitesi, y\u00fcksek performans ve kullan\u0131c\u0131 deneyimi a\u00e7\u0131s\u0131ndan en zorlu senaryolardan biridir. Milyonlarca \u00fcr\u00fcn, binlerce e\u015f zamanl\u0131 kullan\u0131c\u0131 ve s\u00fcrekli de\u011fi\u015fen fiyatlar\/stok bilgileri, geleneksel veritabanlar\u0131 \u00fczerinde ciddi y\u00fck olu\u015fturabilir. \u0130\u015fte b\u00f6yle bir ortamda Redis, kritik rol oynayarak sitenin sorunsuz ve h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Gelin, bir e-ticaret sitesinin Redis&#8217;i nas\u0131l kulland\u0131\u011f\u0131na dair somut bir vaka analizine g\u00f6z atal\u0131m:<\/p>\n<ol>\n<li><strong>\u00dcr\u00fcn Katalo\u011fu \u00d6nbellekleme:<\/strong> Bir e-ticaret sitesindeki en s\u0131k eri\u015filen verilerden biri \u00fcr\u00fcn bilgileridir. Her sayfa y\u00fcklemesinde veya kategori gezintisinde veritaban\u0131ndan \u00fcr\u00fcn detaylar\u0131n\u0131 \u00e7ekmek, performans\u0131 d\u00fc\u015f\u00fcr\u00fcr. Redis, s\u0131k g\u00f6r\u00fcnt\u00fclenen \u00fcr\u00fcnlerin (\u00f6rne\u011fin, ana sayfadaki \u00f6ne \u00e7\u0131kan \u00fcr\u00fcnler, pop\u00fcler \u00fcr\u00fcnler) ve kategori listelerinin \u00f6nbelle\u011fini tutar. Kullan\u0131c\u0131 bir \u00fcr\u00fcn sayfas\u0131na t\u0131klad\u0131\u011f\u0131nda, Redis \u00f6ncelikle bu bilgiyi \u00f6nbellekte arar. E\u011fer veri Redis&#8217;te mevcutsa, milisaniyeler i\u00e7inde kullan\u0131c\u0131ya sunulur ve veritaban\u0131 sorgusundan ka\u00e7\u0131n\u0131lm\u0131\u015f olur. Bu, sayfa y\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r ve sunucu y\u00fck\u00fcn\u00fc hafifletir.<\/li>\n<li><strong>Kullan\u0131c\u0131 Oturum Y\u00f6netimi:<\/strong> E-ticaret siteleri, kullan\u0131c\u0131lar\u0131n oturum bilgilerini (sepete eklenen \u00fcr\u00fcnler, giri\u015f durumu, ki\u015fiselle\u015ftirilmi\u015f tercihler) y\u00f6netmek zorundad\u0131r. Geleneksel olarak bu bilgiler sunucu belle\u011finde veya \u00e7erezlerde tutulsa da, Redis merkezi ve \u00f6l\u00e7eklenebilir bir oturum depolama \u00e7\u00f6z\u00fcm\u00fc sunar. Bir kullan\u0131c\u0131 giri\u015f yapt\u0131\u011f\u0131nda, oturum bilgileri Redis&#8217;te saklan\u0131r. Kullan\u0131c\u0131 site i\u00e7inde gezinirken, oturum bilgileri Redis&#8217;ten h\u0131zl\u0131ca \u00e7ekilir. Bu, \u00f6zellikle y\u00fck dengeleyicilerin arkas\u0131nda \u00e7al\u0131\u015fan birden fazla web sunucusu olan durumlarda kritik \u00f6neme sahiptir, \u00e7\u00fcnk\u00fc t\u00fcm sunucular ayn\u0131 oturum verilerine eri\u015febilir.<\/li>\n<li><strong>Ger\u00e7ek Zamanl\u0131 Sepet ve Stok Takibi:<\/strong> Kullan\u0131c\u0131lar sepete \u00fcr\u00fcn ekledi\u011finde veya bir sipari\u015f verdi\u011finde, stok durumunun an\u0131nda g\u00fcncellenmesi gerekir. Redis&#8217;in atomik art\u0131rma\/azaltma (INCR\/DECR) komutlar\u0131, birden fazla kullan\u0131c\u0131n\u0131n ayn\u0131 anda ayn\u0131 \u00fcr\u00fcn\u00fc sat\u0131n almaya \u00e7al\u0131\u015fmas\u0131 durumunda bile do\u011fru stok takibi yap\u0131lmas\u0131n\u0131 sa\u011flar. \u00d6rne\u011fin, bir \u00fcr\u00fcn\u00fcn stok adedi Redis&#8217;te bir saya\u00e7 olarak tutulur. Kullan\u0131c\u0131 sepete ekledi\u011finde saya\u00e7 azal\u0131r, sipari\u015f tamamland\u0131\u011f\u0131nda daha da azal\u0131r. Bu, \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler ve &#8220;stokta olmayan bir \u00fcr\u00fcn\u00fc sat\u0131n alma&#8221; gibi k\u00f6t\u00fc kullan\u0131c\u0131 deneyimlerini engeller.<\/li>\n<li><strong>Anl\u0131k Bildirimler ve Mesajla\u015fma:<\/strong> Fiyat d\u00fc\u015f\u00fc\u015f\u00fc bildirimleri, kargo durumu g\u00fcncellemeleri veya m\u00fc\u015fteri hizmetleri ile canl\u0131 sohbet gibi \u00f6zellikler i\u00e7in Redis&#8217;in Pub\/Sub mekanizmas\u0131 kullan\u0131l\u0131r. \u00d6rne\u011fin, bir \u00fcr\u00fcn\u00fcn fiyat\u0131 d\u00fc\u015ft\u00fc\u011f\u00fcnde, bu olay bir Redis kanal\u0131na yay\u0131nlan\u0131r ve o \u00fcr\u00fcn\u00fc takip eden t\u00fcm kullan\u0131c\u0131lara an\u0131nda bildirim g\u00f6nderilir. Bu, m\u00fc\u015fteri etkile\u015fimini art\u0131r\u0131r ve g\u00fcncel bilgilerin h\u0131zl\u0131ca ula\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Lider Tablolar\u0131 ve Promosyonlar:<\/strong> En \u00e7ok satan \u00fcr\u00fcnler, en \u00e7ok g\u00f6r\u00fcnt\u00fclenen \u00fcr\u00fcnler veya belirli bir promosyonda en \u00e7ok harcayan m\u00fc\u015fteriler gibi dinamik listeler, Redis&#8217;in Sorted Set veri yap\u0131s\u0131 ile kolayca y\u00f6netilebilir. Bu listeler ger\u00e7ek zamanl\u0131 olarak g\u00fcncellenir ve kullan\u0131c\u0131lara dinamik, ilgi \u00e7ekici i\u00e7erikler sunulur.<\/li>\n<\/ol>\n<p>Bu senaryolar, Redis&#8217;in bir e-ticaret sitesinin performans\u0131n\u0131, \u00f6l\u00e7eklenebilirli\u011fini ve genel kullan\u0131c\u0131 deneyimini nas\u0131l temelden iyile\u015ftirebilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir. Redis, sadece bir \u00f6nbellek de\u011fil, ayn\u0131 zamanda karma\u015f\u0131k i\u015f mant\u0131klar\u0131n\u0131 destekleyen g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<h2>CentOS \u00dczerine Redis Kurulumu: Ad\u0131m Ad\u0131m Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>CentOS \u00fczerine Redis kurmak, do\u011fru ad\u0131mlar\u0131 izledi\u011finizde olduk\u00e7a basit bir i\u015flemdir. Bu b\u00f6l\u00fcmde, Redis&#8217;i sisteminize nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, temel yap\u0131land\u0131rmalar\u0131n\u0131 nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 ve bir servis olarak nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. \u0130ster h\u0131zl\u0131 bir ba\u015flang\u0131\u00e7 i\u00e7in paket y\u00f6neticisini tercih edin, ister en g\u00fcncel s\u00fcr\u00fcm\u00fc ve daha fazla kontrol i\u00e7in kaynak koddan derlemeyi se\u00e7in, her iki y\u00f6ntemi de detayl\u0131ca inceleyece\u011fiz. Unutmay\u0131n, her kurulumdan \u00f6nce sisteminizin g\u00fcncel oldu\u011fundan emin olmak, olas\u0131 uyumluluk sorunlar\u0131n\u0131n \u00f6n\u00fcne ge\u00e7mek i\u00e7in kritik bir ad\u0131md\u0131r.<\/p>\n<h3>Sistem Gereksinimleri ve \u00d6n Haz\u0131rl\u0131klar Nelerdir?<\/h3>\n<p>Redis kurulumuna ba\u015flamadan \u00f6nce, CentOS sunucunuzun belirli gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan ve gerekli \u00f6n haz\u0131rl\u0131klar\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olmal\u0131y\u0131z. Bu ad\u0131mlar, sorunsuz bir kurulum s\u00fcreci i\u00e7in zemin haz\u0131rlar ve olas\u0131 hatalar\u0131n \u00f6n\u00fcne ge\u00e7er. \u0130lk olarak, CentOS sunucunuzda yeterli belle\u011fin (RAM) oldu\u011fundan emin olun. Redis bellek i\u00e7i bir veritaban\u0131 oldu\u011fu i\u00e7in, depolayaca\u011f\u0131n\u0131z veri miktar\u0131na g\u00f6re yeterli RAM&#8217;e sahip olmak kritik \u00f6neme sahiptir. Genellikle, k\u00fc\u00e7\u00fck \u00e7apl\u0131 uygulamalar i\u00e7in 512MB-1GB RAM yeterli olabilirken, b\u00fcy\u00fck \u00f6l\u00e7ekli ve yo\u011fun veri i\u015fleyen sistemler i\u00e7in daha fazla bellek gerekebilir. Swap alan\u0131 da performans\u0131 etkileyebilir, ancak Redis&#8217;in swap&#8217;e d\u00fc\u015fmesi performans\u0131 ciddi \u015fekilde d\u00fc\u015f\u00fcrece\u011fi i\u00e7in, yeterli fiziksel RAM sa\u011flamak her zaman \u00f6ncelikli olmal\u0131d\u0131r.<\/p>\n<p>\u0130kinci olarak, sisteminizi g\u00fcncel tutmak, g\u00fcvenlik yamalar\u0131n\u0131 ve en son yaz\u0131l\u0131m paketlerini alman\u0131z\u0131 sa\u011flar. A\u015fa\u011f\u0131daki komut ile sisteminizi g\u00fcncelleyebilirsiniz:<\/p>\n<pre><code>\nsudo yum update -y\nsudo yum upgrade -y\n    <\/code><\/pre>\n<p>Bu komutlar, mevcut paketleri g\u00fcnceller ve sistemdeki g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatmaya yard\u0131mc\u0131 olur. Ayr\u0131ca, Redis&#8217;i kaynak koddan derleyecekseniz, baz\u0131 geli\u015ftirme ara\u00e7lar\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r. Bu ara\u00e7lar\u0131 a\u015fa\u011f\u0131daki komutla kurabilirsiniz:<\/p>\n<pre><code>\nsudo yum install epel-release -y\nsudo yum install gcc make wget -y\n    <\/code><\/pre>\n<p><code>epel-release<\/code> paketi, ek depo (repository) eri\u015fimi sa\u011flar ve baz\u0131 yard\u0131mc\u0131 programlar\u0131n kurulumunu kolayla\u015ft\u0131r\u0131r. <code>gcc<\/code> (GNU Compiler Collection) ve <code>make<\/code>, kaynak koddan derleme i\u00e7in temel ara\u00e7lard\u0131r. <code>wget<\/code> ise Redis kaynak kodunu indirmek i\u00e7in kullan\u0131lacakt\u0131r. Son olarak, g\u00fcvenlik duvar\u0131n\u0131z\u0131n (firewall) Redis&#8217;in kullanaca\u011f\u0131 porta (varsay\u0131lan olarak 6379) eri\u015fime izin verdi\u011finden emin olmal\u0131s\u0131n\u0131z. Kurulumdan sonra bu konuyu daha detayl\u0131 ele alaca\u011f\u0131z, ancak \u00f6n haz\u0131rl\u0131k a\u015famas\u0131nda bu bilginin fark\u0131nda olmak \u00f6nemlidir. Bu \u00f6n haz\u0131rl\u0131k ad\u0131mlar\u0131n\u0131 tamamlad\u0131ktan sonra, Redis kurulumuna haz\u0131rs\u0131n\u0131z demektir.<\/p>\n<h3>Redis&#8217;i Kaynak Koddan m\u0131, Paket Y\u00f6neticisi ile mi Kurmal\u0131y\u0131m?<\/h3>\n<p>Redis&#8217;i CentOS&#8217;a kurmak i\u00e7in iki ana y\u00f6ntem bulunmaktad\u0131r: paket y\u00f6neticisi (YUM\/DNF) arac\u0131l\u0131\u011f\u0131yla veya kaynak koddan derleyerek. Her iki y\u00f6ntemin de kendine g\u00f6re avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r ve se\u00e7iminiz, projenizin gereksinimlerine, sistem y\u00f6neticili\u011fi bilginize ve istedi\u011finiz kontrol d\u00fczeyine ba\u011fl\u0131 olacakt\u0131r.<\/p>\n<p><strong>Paket Y\u00f6neticisi (YUM\/DNF) ile Kurulum:<\/strong> Bu y\u00f6ntem, genellikle en basit ve en h\u0131zl\u0131 kurulum yoludur. CentOS&#8217;un yerle\u015fik paket y\u00f6neticisi olan YUM (veya CentOS 8 ve \u00fczeri i\u00e7in DNF), Redis paketini otomatik olarak indirir, ba\u011f\u0131ml\u0131l\u0131klar\u0131 \u00e7\u00f6zer ve sisteminize kurar. Avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Kolayl\u0131k:<\/strong> Tek bir komutla kurulumu tamamlayabilirsiniz.<\/li>\n<li><strong>Otomatik Ba\u011f\u0131ml\u0131l\u0131k \u00c7\u00f6z\u00fcm\u00fc:<\/strong> Gerekli t\u00fcm k\u00fct\u00fcphaneler otomatik olarak kurulur.<\/li>\n<li><strong>Kolay G\u00fcncelleme:<\/strong> Sistem g\u00fcncellemeleriyle birlikte Redis de kolayca g\u00fcncellenebilir.<\/li>\n<li><strong>Sistem Entegrasyonu:<\/strong> Redis genellikle bir systemd servisi olarak yap\u0131land\u0131r\u0131l\u0131r ve ba\u015flat\u0131l\u0131r, bu da y\u00f6netimi kolayla\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<p>Ancak, bu y\u00f6ntemin baz\u0131 dezavantajlar\u0131 da vard\u0131r. Genellikle resmi depolarda bulunan Redis s\u00fcr\u00fcmleri, en g\u00fcncel s\u00fcr\u00fcmlerden biraz daha eski olabilir. E\u011fer en son \u00f6zellikleri veya performans iyile\u015ftirmelerini kullanman\u0131z gerekiyorsa, bu bir k\u0131s\u0131tlama olabilir. Ayr\u0131ca, kurulum dizinleri ve yap\u0131land\u0131rma dosyalar\u0131n\u0131n yerleri, kaynak koddan kurdu\u011funuzda sahip olaca\u011f\u0131n\u0131z kadar esnek olmayabilir.<\/p>\n<p><strong>Kaynak Koddan Derleyerek Kurulum:<\/strong> Bu y\u00f6ntem, Redis&#8217;in en g\u00fcncel s\u00fcr\u00fcm\u00fcn\u00fc kurman\u0131za ve kurulum s\u00fcreci \u00fczerinde tam kontrol sahibi olman\u0131za olanak tan\u0131r. Avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>En G\u00fcncel S\u00fcr\u00fcm:<\/strong> Redis&#8217;in en son stabil s\u00fcr\u00fcm\u00fcn\u00fc veya hatta beta s\u00fcr\u00fcm\u00fcn\u00fc kurabilirsiniz.<\/li>\n<li><strong>Tam Kontrol:<\/strong> Kurulum dizinlerini, derleme se\u00e7eneklerini ve yap\u0131land\u0131rmay\u0131 tamamen \u00f6zelle\u015ftirebilirsiniz.<\/li>\n<li><strong>Performans Optimizasyonu:<\/strong> Belirli donan\u0131m mimarileri i\u00e7in derleme zaman\u0131 optimizasyonlar\u0131 yapabilirsiniz.<\/li>\n<li><strong>Ba\u011f\u0131ms\u0131zl\u0131k:<\/strong> Sistem depolar\u0131n\u0131n k\u0131s\u0131tlamalar\u0131na ba\u011fl\u0131 kalmazs\u0131n\u0131z.<\/li>\n<\/ul>\n<p>Dezavantajlar\u0131 ise \u015funlard\u0131r: Kurulum s\u00fcreci daha fazla manuel ad\u0131m gerektirir, ba\u011f\u0131ml\u0131l\u0131klar\u0131 kendiniz y\u00f6netmeniz gerekebilir ve g\u00fcncellemeler de manuel olarak yap\u0131lmal\u0131d\u0131r. Genellikle geli\u015ftirme ortamlar\u0131 veya belirli performans gereksinimleri olan \u00fcretim sistemleri i\u00e7in tercih edilir.<\/p>\n<p><strong>\u00d6zetle:<\/strong> E\u011fer h\u0131zl\u0131 ve sorunsuz bir kurulum ar\u0131yorsan\u0131z ve en son s\u00fcr\u00fcme ihtiyac\u0131n\u0131z yoksa, paket y\u00f6neticisi idealdir. E\u011fer en g\u00fcncel s\u00fcr\u00fcm\u00fc, tam kontrol\u00fc ve \u00f6zel optimizasyonlar\u0131 istiyorsan\u0131z, kaynak koddan derleme daha uygun olacakt\u0131r. Bu makalede, kaynak koddan kurulumu detayl\u0131 olarak ele alaca\u011f\u0131z, \u00e7\u00fcnk\u00fc bu y\u00f6ntem size s\u00fcre\u00e7 \u00fczerinde daha fazla kontrol sa\u011flar ve genellikle daha g\u00fcvenli bir kurulum i\u00e7in gerekli ad\u0131mlar\u0131 daha net bir \u015fekilde anlaman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<h3>Redis Kaynak Koddan Nas\u0131l Kurulur?<\/h3>\n<p>Kaynak koddan Redis kurmak, size en g\u00fcncel s\u00fcr\u00fcme eri\u015fim ve kurulum \u00fczerinde tam kontrol sa\u011flar. Bu s\u00fcre\u00e7, birka\u00e7 ad\u0131mdan olu\u015fur ve dikkatli bir \u015fekilde takip edildi\u011finde olduk\u00e7a basittir.<\/p>\n<ol>\n<li><strong>Redis Kaynak Kodunu \u0130ndirme:<\/strong> \u0130lk ad\u0131m, Redis&#8217;in resmi web sitesinden en son stabil s\u00fcr\u00fcm\u00fcn\u00fc indirmektir. Genellikle, <code>wget<\/code> komutunu kullanarak bunu do\u011frudan sunucunuzda yapabilirsiniz.<\/li>\n<pre><code>\nwget http:\/\/download.redis.io\/releases\/redis-x.y.z.tar.gz\n        <\/code><\/pre>\n<p>Buradaki <code>x.y.z<\/code> k\u0131sm\u0131n\u0131, indirmek istedi\u011finiz Redis s\u00fcr\u00fcm numaras\u0131yla de\u011fi\u015ftirmelisiniz. \u00d6rne\u011fin, 6.2.6 s\u00fcr\u00fcm\u00fc i\u00e7in:<\/p>\n<pre><code>\nwget http:\/\/download.redis.io\/releases\/redis-6.2.6.tar.gz\n        <\/code><\/pre>\n<li><strong>Ar\u015fivi \u00c7\u0131karma:<\/strong> \u0130ndirme tamamland\u0131ktan sonra, s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyay\u0131 a\u00e7man\u0131z gerekir.<\/li>\n<pre><code>\ntar xzf redis-x.y.z.tar.gz\n        <\/code><\/pre>\n<li><strong>Dizin \u0130\u00e7ine Girme ve Derleme:<\/strong> Ar\u015fivi a\u00e7t\u0131ktan sonra olu\u015fan dizine girin ve <code>make<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak Redis&#8217;i derleyin.<\/li>\n<pre><code>\ncd redis-x.y.z\nmake\n        <\/code><\/pre>\n<p>Derleme i\u015flemi birka\u00e7 dakika s\u00fcrebilir. E\u011fer herhangi bir hata al\u0131rsan\u0131z, &#8220;Sistem Gereksinimleri ve \u00d6n Haz\u0131rl\u0131klar&#8221; b\u00f6l\u00fcm\u00fcndeki <code>gcc<\/code> ve <code>make<\/code> gibi geli\u015ftirme ara\u00e7lar\u0131n\u0131n kurulu oldu\u011fundan emin olun.<\/p>\n<li><strong>Redis \u0130kililerini Kurma:<\/strong> Derleme tamamland\u0131ktan sonra, Redis ikililerini (binaries) sisteminize kopyalamak i\u00e7in <code>make install<\/code> komutunu kullan\u0131n. Varsay\u0131lan olarak, bu komut Redis \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyalar\u0131n\u0131 <code>\/usr\/local\/bin<\/code> dizinine kopyalar. Bu dizin genellikle PATH ortam de\u011fi\u015fkeninizde bulunur, bu da Redis komutlar\u0131n\u0131 herhangi bir yerden \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r.<\/p>\n<pre><code>\nsudo make install\n        <\/code><\/pre>\n<p>Bu ad\u0131mla Redis&#8217;in temel bile\u015fenleri (<code>redis-server<\/code>, <code>redis-cli<\/code>, <code>redis-benchmark<\/code> vb.) sisteminize kurulmu\u015f olur.<\/p>\n<li><strong>Yap\u0131land\u0131rma Dosyas\u0131n\u0131 Ayarlama:<\/strong> Kaynak koddan kurulumda, yap\u0131land\u0131rma dosyas\u0131n\u0131 manuel olarak kopyalaman\u0131z ve d\u00fczenlemeniz gerekir. Redis kaynak dizininde bulunan <code>redis.conf<\/code> dosyas\u0131n\u0131 genellikle <code>\/etc\/redis\/<\/code> dizinine kopyalamak iyi bir uygulamad\u0131r.<\/p>\n<pre><code>\nsudo mkdir \/etc\/redis\nsudo cp redis.conf \/etc\/redis\/6379.conf\n        <\/code><\/pre>\n<p>Bu, birden fazla Redis \u00f6rne\u011fi \u00e7al\u0131\u015ft\u0131rman\u0131z gerekti\u011finde her \u00f6rnek i\u00e7in ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131 tutman\u0131za olanak tan\u0131r. \u015eimdi bu dosyay\u0131 d\u00fczenleyerek Redis&#8217;i daha g\u00fcvenli ve optimize edilmi\u015f hale getirece\u011fiz. Bu dosyadaki \u00f6nemli ayarlar\u0131 bir sonraki b\u00f6l\u00fcmde ele alaca\u011f\u0131z.<\/p>\n<li><strong>Redis Kullan\u0131c\u0131s\u0131 Olu\u015fturma:<\/strong> G\u00fcvenlik amac\u0131yla, Redis&#8217;i root kullan\u0131c\u0131s\u0131 yerine ayr\u0131 bir sistem kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak her zaman iyi bir uygulamad\u0131r.<\/li>\n<pre><code>\nsudo adduser redis\n        <\/code><\/pre>\n<li><strong>Dizin \u0130zinlerini Ayarlama:<\/strong> Redis&#8217;in veri dosyalar\u0131n\u0131 (RDB, AOF) ve log dosyalar\u0131n\u0131 depolayaca\u011f\u0131 dizinler i\u00e7in do\u011fru izinleri ayarlay\u0131n.<\/li>\n<pre><code>\nsudo mkdir \/var\/lib\/redis\nsudo chown redis:redis \/var\/lib\/redis\nsudo chmod 700 \/var\/lib\/redis\nsudo mkdir \/var\/log\/redis\nsudo chown redis:redis \/var\/log\/redis\n        <\/code><\/pre>\n<p>Bu ad\u0131mlarla Redis&#8217;i ba\u015far\u0131yla derleyip kurmu\u015f olursunuz. \u015eimdi s\u0131ra, Redis&#8217;i bir servis olarak yap\u0131land\u0131rmaya ve ba\u015flatmaya geldi.<\/p>\n<h3>Redis Servisi Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r ve Y\u00f6netilir?<\/h3>\n<p>Redis&#8217;i bir servis olarak \u00e7al\u0131\u015ft\u0131rmak, sistemin yeniden ba\u015flat\u0131lmas\u0131 durumunda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak ve kolayca y\u00f6netebilmek i\u00e7in kritik \u00f6neme sahiptir. CentOS&#8217;ta bu, systemd birimi olu\u015fturarak yap\u0131l\u0131r. \u0130\u015fte ad\u0131m ad\u0131m nas\u0131l yap\u0131laca\u011f\u0131:<\/p>\n<ol>\n<li><strong>Redis Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme:<\/strong> Daha \u00f6nce kopyalad\u0131\u011f\u0131m\u0131z <code>\/etc\/redis\/6379.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki temel ayarlar\u0131 yap\u0131n. Bir metin d\u00fczenleyici (\u00f6rne\u011fin <code>vi<\/code> veya <code>nano<\/code>) kullanabilirsiniz.<\/p>\n<pre><code>\nsudo nano \/etc\/redis\/6379.conf\n        <\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun ve d\u00fczenleyin:<\/p>\n<ul>\n<li><code>daemonize yes<\/code>: Redis&#8217;in bir arka plan s\u00fcreci olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><code>pidfile \/var\/run\/redis_6379.pid<\/code>: PID dosyas\u0131n\u0131n yolunu belirtir.<\/li>\n<li><code>port 6379<\/code>: Redis&#8217;in dinleyece\u011fi port (varsay\u0131lan).<\/li>\n<li><code>logfile \/var\/log\/redis\/redis_6379.log<\/code>: Log dosyas\u0131n\u0131n yolunu belirtir.<\/li>\n<li><code>dir \/var\/lib\/redis<\/code>: Redis&#8217;in kal\u0131c\u0131l\u0131k dosyalar\u0131n\u0131 (RDB, AOF) depolayaca\u011f\u0131 dizin.<\/li>\n<li><code>bind 127.0.0.1<\/code>: Redis&#8217;in sadece yerel a\u011fdan eri\u015filebilir olmas\u0131n\u0131 sa\u011flar. E\u011fer d\u0131\u015far\u0131dan eri\u015fime ihtiyac\u0131n\u0131z varsa, sunucunuzun IP adresini veya <code>0.0.0.0<\/code> (t\u00fcm aray\u00fczler) olarak de\u011fi\u015ftirmelisiniz, ancak bu durumda g\u00fcvenlik \u00f6nlemlerini art\u0131rman\u0131z gerekir.<\/li>\n<li><code>protected-mode yes<\/code>: G\u00fcvenlik i\u00e7in a\u00e7\u0131k b\u0131rak\u0131lmas\u0131 \u00f6nerilir. E\u011fer <code>bind<\/code> ayar\u0131 <code>0.0.0.0<\/code> ise ve parola ayarl\u0131 de\u011filse, d\u0131\u015far\u0131dan eri\u015fimi engeller.<\/li>\n<li><code>requirepass sizin_g\u00fc\u00e7l\u00fc_parolan\u0131z<\/code>: Bu sat\u0131r\u0131n ba\u015f\u0131ndaki <code>#<\/code> i\u015faretini kald\u0131r\u0131n ve g\u00fc\u00e7l\u00fc bir parola belirleyin. Bu, Redis&#8217;e eri\u015fimi k\u0131s\u0131tlar ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan hayati \u00f6neme sahiptir.<\/li>\n<\/ul>\n<p>Yap\u0131land\u0131rma dosyas\u0131ndaki di\u011fer ayarlar\u0131 da ihtiya\u00e7lar\u0131n\u0131za g\u00f6re g\u00f6zden ge\u00e7irebilirsiniz.<\/p>\n<li><strong>Systemd Servis Dosyas\u0131 Olu\u015fturma:<\/strong> Redis&#8217;i bir systemd servisi olarak y\u00f6netmek i\u00e7in <code>\/etc\/systemd\/system\/redis.service<\/code> ad\u0131nda bir dosya olu\u015fturun.<\/p>\n<pre><code>\nsudo nano \/etc\/systemd\/system\/redis.service\n        <\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">\n[Unit]\nDescription=Redis persistent key-value database\nAfter=network.target\n\n[Service]\nUser=redis\nGroup=redis\nExecStart=\/usr\/local\/bin\/redis-server \/etc\/redis\/6379.conf --daemonize no\nExecStop=\/usr\/local\/bin\/redis-cli shutdown\nRestart=always\nType=simple\n\n[Install]\nWantedBy=multi-user.target\n        <\/code><\/pre>\n<p>Burada <code>User=redis<\/code> ve <code>Group=redis<\/code> sat\u0131rlar\u0131, Redis&#8217;in daha \u00f6nce olu\u015fturdu\u011fumuz <code>redis<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. <code>ExecStart<\/code> komutu, Redis sunucusunu yap\u0131land\u0131rma dosyas\u0131yla ba\u015flat\u0131r ve <code>--daemonize no<\/code> parametresi, systemd&#8217;nin Redis s\u00fcrecini do\u011frudan y\u00f6netmesini sa\u011flar (\u00e7\u00fcnk\u00fc systemd zaten bir arka plan s\u00fcreci y\u00f6neticisidir). <code>ExecStop<\/code> ise Redis&#8217;i d\u00fczg\u00fcn bir \u015fekilde kapatmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<li><strong>Systemd Yap\u0131land\u0131rmas\u0131n\u0131 Yeniden Y\u00fckleme ve Servisi Ba\u015flatma:<\/strong> Yeni servis dosyas\u0131n\u0131 tan\u0131mas\u0131 i\u00e7in systemd yap\u0131land\u0131rmas\u0131n\u0131 yeniden y\u00fckleyin, ard\u0131ndan Redis servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirin.<\/p>\n<pre><code>\nsudo systemctl daemon-reload\nsudo systemctl start redis\nsudo systemctl enable redis\n        <\/code><\/pre>\n<li><strong>Redis Durumunu Kontrol Etme:<\/strong> Servisin ba\u015far\u0131yla \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>\nsudo systemctl status redis\n        <\/code><\/pre>\n<p>Durumun &#8220;active (running)&#8221; oldu\u011funu g\u00f6rmelisiniz. Ayr\u0131ca, Redis CLI (komut sat\u0131r\u0131 aray\u00fcz\u00fc) ile ba\u011flant\u0131 kurarak da test edebilirsiniz:<\/p>\n<pre><code>\nredis-cli -a sizin_g\u00fc\u00e7l\u00fc_parolan\u0131z\nping\n        <\/code><\/pre>\n<p>E\u011fer &#8220;PONG&#8221; yan\u0131t\u0131n\u0131 al\u0131rsan\u0131z, Redis ba\u015far\u0131yla \u00e7al\u0131\u015f\u0131yor ve eri\u015filebilir durumda demektir. Tebrikler! Redis&#8217;i CentOS sunucunuza kurdunuz ve bir servis olarak yap\u0131land\u0131rd\u0131n\u0131z. \u015eimdi s\u0131ra, g\u00fcvenlik \u00f6nlemlerini almaya geldi.<\/p>\n<div class=\"tip\">\n<p>Uzman \u0130pucu: Birden fazla Redis \u00f6rne\u011fi \u00e7al\u0131\u015ft\u0131rman\u0131z gerekti\u011finde, her biri i\u00e7in farkl\u0131 bir port numaras\u0131 (\u00f6rne\u011fin 6380, 6381) ve ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131 (<code>\/etc\/redis\/6380.conf<\/code>) ile ayr\u0131 bir systemd servis dosyas\u0131 (<code>redis@6380.service<\/code>) olu\u015fturabilirsiniz. Bu, y\u00f6netimi kolayla\u015ft\u0131r\u0131r ve izolasyon sa\u011flar.<\/p>\n<\/p><\/div>\n<h2>Redis G\u00fcvenli\u011fini Sa\u011flama: Kritik Ad\u0131mlar ve En \u0130yi Uygulamalar Nelerdir?<\/h2>\n<p>Redis, ola\u011fan\u00fcst\u00fc h\u0131z\u0131 ve esnekli\u011fiyle bilinse de, varsay\u0131lan kurulumu baz\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131 bar\u0131nd\u0131rabilir. \u00d6zellikle internete a\u00e7\u0131k bir sunucuda \u00e7al\u0131\u015f\u0131yorsa, Redis&#8217;i do\u011fru \u015fekilde g\u00fcvence alt\u0131na almak hayati \u00f6neme sahiptir. Yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f bir Redis sunucusu, veri ihlallerine, hizmet reddi sald\u0131r\u0131lar\u0131na (DoS) veya k\u00f6t\u00fc niyetli akt\u00f6rlerin sunucunuza eri\u015fim sa\u011flamas\u0131na yol a\u00e7abilir. Bu b\u00f6l\u00fcmde, Redis&#8217;inizi d\u0131\u015f tehditlere kar\u015f\u0131 korumak i\u00e7in alman\u0131z gereken kritik g\u00fcvenlik ad\u0131mlar\u0131n\u0131 ve en iyi uygulamalar\u0131 detayl\u0131ca inceleyece\u011fiz. Unutmay\u0131n, g\u00fcvenlik tek seferlik bir i\u015flem de\u011fil, s\u00fcrekli bir s\u00fcre\u00e7tir.<\/p>\n<h3>A\u011f G\u00fcvenli\u011fi: Firewall (Firewalld) ve IP K\u0131s\u0131tlamalar\u0131 Nas\u0131l Yap\u0131l\u0131r?<\/h3>\n<p>Redis sunucunuzun g\u00fcvenli\u011fini sa\u011flaman\u0131n ilk ve en \u00f6nemli ad\u0131m\u0131, a\u011f d\u00fczeyinde eri\u015fimi k\u0131s\u0131tlamakt\u0131r. Varsay\u0131lan olarak Redis, 6379 numaral\u0131 portu dinler. Bu portun internete a\u00e7\u0131k olmas\u0131, yetkisiz eri\u015fim denemeleri i\u00e7in bir kap\u0131 aralayabilir. CentOS&#8217;ta <code>firewalld<\/code> hizmeti, a\u011f trafi\u011fini y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. \u0130\u015fte Redis portuna eri\u015fimi k\u0131s\u0131tlamak i\u00e7in atman\u0131z gereken ad\u0131mlar:<\/p>\n<ol>\n<li><strong>Sadece Belirli IP Adreslerinden Eri\u015fime \u0130zin Verme:<\/strong> En g\u00fcvenli y\u00f6ntem, Redis sunucunuza sadece uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucular\u0131n veya belirli g\u00fcvenilir IP adreslerinin eri\u015fimine izin vermektir. \u00d6rne\u011fin, uygulaman\u0131z <code>192.168.1.100<\/code> IP adresinde \u00e7al\u0131\u015f\u0131yorsa, sadece bu IP&#8217;nin Redis&#8217;e eri\u015fmesine izin verebilirsiniz.<\/li>\n<pre><code>\nsudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family=\"ipv4\" source address=\"192.168.1.100\" port port=\"6379\" protocol=\"tcp\" accept'\nsudo firewall-cmd --reload\n        <\/code><\/pre>\n<p>E\u011fer uygulaman\u0131z ayn\u0131 sunucuda \u00e7al\u0131\u015f\u0131yorsa (yani Redis&#8217;e localhost&#8217;tan ba\u011flan\u0131yorsa), d\u0131\u015far\u0131dan hi\u00e7bir eri\u015fime izin vermemeniz en iyisidir. Bu durumda, <code>redis.conf<\/code> dosyas\u0131ndaki <code>bind<\/code> ayar\u0131n\u0131 sadece <code>127.0.0.1<\/code> olarak b\u0131rakmal\u0131 ve firewall&#8217;da 6379 portunu d\u0131\u015f d\u00fcnyaya kapatmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code>\nsudo firewall-cmd --permanent --zone=public --remove-port=6379\/tcp\nsudo firewall-cmd --reload\n        <\/code><\/pre>\n<p>E\u011fer Redis&#8217;i farkl\u0131 bir sunucudan eri\u015filebilir k\u0131lmak istiyorsan\u0131z, <code>bind<\/code> ayar\u0131n\u0131 Redis sunucunuzun \u00f6zel IP adresine ayarlayabilir ve sadece o IP&#8217;ye gelen ba\u011flant\u0131lara izin verebilirsiniz. <code>0.0.0.0<\/code> olarak ayarlamak, Redis&#8217;in t\u00fcm a\u011f aray\u00fczlerinden eri\u015filebilir olmas\u0131n\u0131 sa\u011flar, bu da g\u00fcvenlik riskini art\u0131r\u0131r ve genellikle sadece iyi yap\u0131land\u0131r\u0131lm\u0131\u015f bir firewall ve kimlik do\u011frulama ile birlikte kullan\u0131lmal\u0131d\u0131r.<\/p>\n<li><strong>Redis Yap\u0131land\u0131rma Dosyas\u0131nda Bind Ayar\u0131:<\/strong> <code>\/etc\/redis\/6379.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve <code>bind<\/code> ayar\u0131n\u0131 kontrol edin:<\/li>\n<pre><code>\nbind 127.0.0.1 192.168.1.50\n        <\/code><\/pre>\n<p>Bu \u00f6rnekte, Redis sadece localhost (<code>127.0.0.1<\/code>) ve sunucunun <code>192.168.1.50<\/code> IP adresinden gelen ba\u011flant\u0131lar\u0131 kabul edecektir. Bu, <code>0.0.0.0<\/code> kullanmaktan daha g\u00fcvenlidir \u00e7\u00fcnk\u00fc Redis&#8217;in dinleyece\u011fi aray\u00fczleri a\u00e7\u0131k\u00e7a belirtirsiniz.<\/p>\n<li><strong>Protected Mode:<\/strong> Redis 3.2 s\u00fcr\u00fcm\u00fcnden itibaren gelen <code>protected-mode<\/code> ayar\u0131, yetkisiz eri\u015fimi engellemek i\u00e7in ek bir g\u00fcvenlik katman\u0131 sa\u011flar. E\u011fer Redis parolas\u0131 ayarlanmam\u0131\u015fsa ve <code>bind<\/code> ayar\u0131 sadece <code>127.0.0.1<\/code> veya <code>::1<\/code> de\u011filse (yani d\u0131\u015far\u0131dan eri\u015fime a\u00e7\u0131k bir IP varsa), <code>protected-mode<\/code> varsay\u0131lan olarak d\u0131\u015far\u0131dan gelen ba\u011flant\u0131lar\u0131 reddeder. Bu ayar\u0131 <code>yes<\/code> olarak b\u0131rakman\u0131z \u015fiddetle tavsiye edilir.<\/li>\n<pre><code>\nprotected-mode yes\n        <\/code><\/pre>\n<\/ol>\n<p>Bu ad\u0131mlarla, Redis sunucunuzun a\u011f d\u00fczeyindeki g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fcn\u00fc ve eri\u015filebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde k\u0131s\u0131tlam\u0131\u015f olursunuz. Bu, potansiyel sald\u0131r\u0131 y\u00fczeyini daraltan kritik bir g\u00fcvenlik \u00f6nlemidir.<\/p>\n<h3>Kimlik Do\u011frulama: Redis Parolas\u0131 (AUTH) Nas\u0131l Ayarlan\u0131r?<\/h3>\n<p>A\u011f d\u00fczeyinde k\u0131s\u0131tlamalar \u00f6nemli olsa da, tek ba\u015f\u0131na yeterli de\u011fildir. Herhangi bir nedenle bir sald\u0131rgan firewall&#8217;\u0131 a\u015fmay\u0131 ba\u015far\u0131rsa veya g\u00fcvenilir bir a\u011f i\u00e7inden yetkisiz eri\u015fim sa\u011flamaya \u00e7al\u0131\u015f\u0131rsa, Redis verilerinizin korunmas\u0131 i\u00e7in ek bir g\u00fcvenlik katman\u0131na ihtiyac\u0131n\u0131z vard\u0131r: parola tabanl\u0131 kimlik do\u011frulama. Redis, <code>AUTH<\/code> komutu ile basit ama etkili bir parola mekanizmas\u0131 sunar. \u0130\u015fte bu \u00f6zelli\u011fi nas\u0131l etkinle\u015ftirece\u011finiz:<\/p>\n<ol>\n<li><strong>G\u00fc\u00e7l\u00fc Bir Parola Belirleme:<\/strong> \u0130lk ad\u0131m, tahmin edilmesi zor, uzun ve karma\u015f\u0131k bir parola se\u00e7mektir. B\u00fcy\u00fck ve k\u00fc\u00e7\u00fck harfler, rakamlar ve \u00f6zel karakterler i\u00e7eren bir parola kullan\u0131n. Parolan\u0131z\u0131 asla a\u00e7\u0131k metin olarak veya kolayca eri\u015filebilir bir yerde saklamay\u0131n.<\/li>\n<li><strong>Redis Yap\u0131land\u0131rma Dosyas\u0131nda Parolay\u0131 Ayarlama:<\/strong> <code>\/etc\/redis\/6379.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve <code>requirepass<\/code> y\u00f6nergesini bulun. Bu y\u00f6nerge varsay\u0131lan olarak yorum sat\u0131r\u0131 (<code>#<\/code> ile ba\u015flar) halindedir. Yorum sat\u0131r\u0131n\u0131 kald\u0131r\u0131n ve belirledi\u011finiz g\u00fc\u00e7l\u00fc parolay\u0131 girin:<\/li>\n<pre><code>\nsudo nano \/etc\/redis\/6379.conf\n# ...\nrequirepass sizin_\u00e7ok_g\u00fc\u00e7l\u00fc_redis_parolan\u0131z\n# ...\n        <\/code><\/pre>\n<p>Parolan\u0131z\u0131 girdikten sonra dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<li><strong>Redis Servisini Yeniden Ba\u015flatma:<\/strong> Yap\u0131land\u0131rma de\u011fi\u015fikli\u011finin etkili olmas\u0131 i\u00e7in Redis servisini yeniden ba\u015flatman\u0131z gerekir:<\/li>\n<pre><code>\nsudo systemctl restart redis\n        <\/code><\/pre>\n<li><strong>Parola ile Ba\u011flant\u0131y\u0131 Test Etme:<\/strong> \u015eimdi Redis CLI ile ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda, do\u011frudan komut g\u00f6nderemeyeceksiniz. \u0130lk olarak <code>AUTH<\/code> komutu ile kimlik do\u011frulaman\u0131z gerekecek:<\/li>\n<pre><code>\nredis-cli\nAUTH sizin_\u00e7ok_g\u00fc\u00e7l\u00fc_redis_parolan\u0131z\nping\n        <\/code><\/pre>\n<p>E\u011fer &#8220;OK&#8221; ve ard\u0131ndan &#8220;PONG&#8221; yan\u0131tlar\u0131n\u0131 al\u0131rsan\u0131z, parolan\u0131z ba\u015far\u0131yla ayarlanm\u0131\u015f demektir. Parola olmadan komut g\u00f6ndermeye \u00e7al\u0131\u015f\u0131rsan\u0131z, &#8220;NOAUTH Authentication required.&#8221; hatas\u0131n\u0131 al\u0131rs\u0131n\u0131z. Uygulamalar\u0131n\u0131z\u0131n Redis&#8217;e ba\u011flan\u0131rken bu parolay\u0131 kullanacak \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun.<\/p>\n<\/ol>\n<p><strong>Ek G\u00fcvenlik \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>Parolay\u0131 D\u00fczenli Olarak De\u011fi\u015ftirin:<\/strong> Kurumsal g\u00fcvenlik politikalar\u0131na uygun olarak parolan\u0131z\u0131 d\u00fczenli aral\u0131klarla de\u011fi\u015ftirin.<\/li>\n<li><strong>Parolay\u0131 Loglarda Tutmay\u0131n:<\/strong> Uygulama loglar\u0131nda veya hata mesajlar\u0131nda Redis parolas\u0131n\u0131n g\u00f6r\u00fcnmemesine dikkat edin.<\/li>\n<li><strong>TLS\/SSL Kullan\u0131m\u0131:<\/strong> E\u011fer Redis&#8217;e d\u0131\u015f a\u011flardan veya g\u00fcvenilmeyen a\u011flardan eri\u015fiyorsan\u0131z, verilerin \u015fifrelenmesi i\u00e7in TLS\/SSL kullanmay\u0131 d\u00fc\u015f\u00fcnmelisiniz. Redis&#8217;in yerle\u015fik TLS deste\u011fi (s\u00fcr\u00fcm 6.0 ve sonras\u0131) ile bu m\u00fcmk\u00fcnd\u00fcr. Bu, verilerin a\u011f \u00fczerinden ta\u015f\u0131n\u0131rken g\u00fcvenli\u011fini sa\u011flar.<\/li>\n<\/ul>\n<p>Redis parolas\u0131n\u0131 ayarlamak, yetkisiz eri\u015fime kar\u015f\u0131 en temel ve en etkili savunma mekanizmalar\u0131ndan biridir. Bu ad\u0131m\u0131 asla atlamamal\u0131s\u0131n\u0131z.<\/p>\n<h3>Kal\u0131c\u0131l\u0131k ve Veri G\u00fcvenli\u011fi \u0130\u00e7in Hangi Y\u00f6ntemler Kullan\u0131lmal\u0131? (RDB, AOF)<\/h3>\n<p>Redis bellek i\u00e7i bir veritaban\u0131 oldu\u011fu i\u00e7in, sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda veya bir \u00e7\u00f6kme ya\u015fand\u0131\u011f\u0131nda verilerin kaybolma riski bulunur. Bu riski ortadan kald\u0131rmak ve veri g\u00fcvenli\u011fini sa\u011flamak i\u00e7in Redis, iki temel kal\u0131c\u0131l\u0131k (persistence) mekanizmas\u0131 sunar: RDB (Redis Database Backup) ve AOF (Append Only File). Bu iki y\u00f6ntemi do\u011fru bir \u015fekilde yap\u0131land\u0131rmak, verilerinizin g\u00fcvende olmas\u0131n\u0131 sa\u011flar.<\/p>\n<ol>\n<li><strong>RDB (Redis Database Backup):<\/strong>\n<p>RDB, Redis veritaban\u0131n\u0131n belirli aral\u0131klarla diske anl\u0131k g\u00f6r\u00fcnt\u00fclerini (snapshot) kaydetti\u011fi bir mekanizmad\u0131r. Bu anl\u0131k g\u00f6r\u00fcnt\u00fcler, s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f ikili dosyalar halinde <code>.rdb<\/code> uzant\u0131s\u0131yla kaydedilir. RDB&#8217;nin avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>H\u0131zl\u0131 Kurtarma:<\/strong> Bir \u00e7\u00f6kme durumunda, en son RDB dosyas\u0131ndan veri kurtarma i\u015flemi olduk\u00e7a h\u0131zl\u0131d\u0131r.<\/li>\n<li><strong>Kompakt Dosyalar:<\/strong> RDB dosyalar\u0131 olduk\u00e7a k\u00fc\u00e7\u00fckt\u00fcr ve disk alan\u0131ndan tasarruf sa\u011flar.<\/li>\n<li><strong>Felaket Kurtarma \u0130\u00e7in \u0130deal:<\/strong> RDB dosyalar\u0131n\u0131 farkl\u0131 sunuculara veya bulut depolama alanlar\u0131na yedekleyerek felaket kurtarma senaryolar\u0131 i\u00e7in kullanabilirsiniz.<\/li>\n<\/ul>\n<p>Dezavantaj\u0131 ise, anl\u0131k g\u00f6r\u00fcnt\u00fcler aras\u0131nda yap\u0131lan de\u011fi\u015fikliklerin kaybolma riskidir. E\u011fer Redis bir anl\u0131k g\u00f6r\u00fcnt\u00fc almadan \u00f6nce \u00e7\u00f6kerse, son anl\u0131k g\u00f6r\u00fcnt\u00fcden sonraki t\u00fcm veriler kaybedilir.<\/p>\n<p><strong>Yap\u0131land\u0131rma:<\/strong> <code>redis.conf<\/code> dosyas\u0131nda <code>save<\/code> y\u00f6nergeleri ile RDB kaydetme aral\u0131klar\u0131n\u0131 ayarlars\u0131n\u0131z. \u00d6rne\u011fin:<\/p>\n<pre><code>\nsave 900 1    # 900 saniye (15 dakika) i\u00e7inde en az 1 de\u011fi\u015fiklik olursa kaydet\nsave 300 10   # 300 saniye (5 dakika) i\u00e7inde en az 10 de\u011fi\u015fiklik olursa kaydet\nsave 60 10000 # 60 saniye i\u00e7inde en az 10000 de\u011fi\u015fiklik olursa kaydet\n            <\/code><\/pre>\n<p><code>dbfilename dump.rdb<\/code> y\u00f6nergesi ile RDB dosyas\u0131n\u0131n ad\u0131n\u0131, <code>dir \/var\/lib\/redis<\/code> y\u00f6nergesi ile de kaydedilece\u011fi dizini belirtirsiniz.<\/p>\n<\/li>\n<li><strong>AOF (Append Only File):<\/strong>\n<p>AOF, Redis&#8217;e gelen her yazma komutunu (SET, RPUSH, INCR vb.) bir log dosyas\u0131na (append-only file) kaydeder. Redis yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda, bu log dosyas\u0131ndaki komutlar\u0131 s\u0131rayla yeniden oynatarak veri k\u00fcmesini yeniden olu\u015fturur. AOF&#8217;nin avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Daha Az Veri Kayb\u0131:<\/strong> Her yazma i\u015flemi kaydedildi\u011fi i\u00e7in, RDB&#8217;ye g\u00f6re daha az veri kayb\u0131 riski ta\u015f\u0131r.<\/li>\n<li><strong>Daha \u0130yi Tutarl\u0131l\u0131k:<\/strong> Genellikle daha g\u00fcncel veri k\u00fcmesi sa\u011flar.<\/li>\n<\/ul>\n<p>Dezavantajlar\u0131 ise, AOF dosyalar\u0131n\u0131n RDB&#8217;ye g\u00f6re daha b\u00fcy\u00fck olabilmesi ve kurtarma i\u015fleminin daha uzun s\u00fcrebilmesidir (\u00e7\u00fcnk\u00fc t\u00fcm komutlar\u0131n yeniden oynat\u0131lmas\u0131 gerekir).<\/p>\n<p><strong>Yap\u0131land\u0131rma:<\/strong> AOF&#8217;yi etkinle\u015ftirmek i\u00e7in <code>redis.conf<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki ayar\u0131 yap\u0131n:<\/p>\n<pre><code>\nappendonly yes\n            <\/code><\/pre>\n<p>AOF yazma s\u0131kl\u0131\u011f\u0131n\u0131 <code>appendfsync<\/code> y\u00f6nergesi ile kontrol edersiniz:<\/p>\n<ul>\n<li><code>appendfsync always<\/code>: Her komutta diske yaz. En g\u00fcvenli ama en yava\u015f.<\/li>\n<li><code>appendfsync everysec<\/code>: Saniyede bir kez diske yaz. Varsay\u0131lan ve \u00e7o\u011fu durum i\u00e7in iyi bir denge.<\/li>\n<li><code>appendfsync no<\/code>: \u0130\u015fletim sistemine b\u0131rak. En h\u0131zl\u0131 ama en az g\u00fcvenli.<\/li>\n<\/ul>\n<p><code>auto-aof-rewrite-percentage<\/code> ve <code>auto-aof-rewrite-min-size<\/code> y\u00f6nergeleri ile AOF dosyas\u0131n\u0131n otomatik olarak yeniden yaz\u0131lmas\u0131n\u0131 (compact) sa\u011flayarak boyutunu k\u00fc\u00e7\u00fcltebilirsiniz.<\/p>\n<\/li>\n<\/ol>\n<p><strong>Hangi Y\u00f6ntem Kullan\u0131lmal\u0131?<\/strong><\/p>\n<p>\u00c7o\u011fu \u00fcretim ortam\u0131 i\u00e7in <strong>hem RDB hem de AOF&#8217;yi birlikte kullanmak<\/strong> en iyi yakla\u015f\u0131md\u0131r. AOF, veri kayb\u0131n\u0131 en aza indirirken, RDB daha h\u0131zl\u0131 yedekleme ve felaket kurtarma imkan\u0131 sunar. E\u011fer en g\u00fcncel veriyi kaybetme tolerans\u0131n\u0131z \u00e7ok d\u00fc\u015f\u00fckse, AOF&#8217;yi <code>everysec<\/code> ile kullan\u0131n. RDB&#8217;yi ise d\u00fczenli aral\u0131klarla yedeklemek i\u00e7in kullan\u0131n. Bu hibrit yakla\u015f\u0131m, hem y\u00fcksek veri g\u00fcvenli\u011fi hem de esnek kurtarma se\u00e7enekleri sunar.<\/p>\n<h3>SELinux ve Redis: G\u00fcvenlik Ba\u011flam\u0131 Nas\u0131l Y\u00f6netilir?<\/h3>\n<p>CentOS gibi Red Hat tabanl\u0131 da\u011f\u0131t\u0131mlarda SELinux (Security-Enhanced Linux), sistem g\u00fcvenli\u011fini art\u0131ran \u00f6nemli bir bile\u015fendir. SELinux, geleneksel Linux izinlerinden (okuma\/yazma\/\u00e7al\u0131\u015ft\u0131rma) daha ayr\u0131nt\u0131l\u0131 eri\u015fim kontrol\u00fc sa\u011flar ve uygulamalar\u0131n belirli kaynaklara eri\u015fimini k\u0131s\u0131tlar. Redis gibi bir hizmet kurdu\u011funuzda, SELinux politikalar\u0131n\u0131n Redis&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131n\u0131 engellememesi i\u00e7in do\u011fru yap\u0131land\u0131r\u0131lmas\u0131 gerekir. Aksi takdirde, Redis ba\u015flat\u0131lamayabilir veya kal\u0131c\u0131l\u0131k dosyalar\u0131n\u0131 kaydedemeyebilir.<\/p>\n<p>SELinux&#8217;u tamamen devre d\u0131\u015f\u0131 b\u0131rakmak cazip gelse de, bu bir g\u00fcvenlik riskidir ve genellikle \u00f6nerilmez. Bunun yerine, Redis i\u00e7in gerekli SELinux ba\u011flamlar\u0131n\u0131 ve kurallar\u0131n\u0131 do\u011fru bir \u015fekilde ayarlamak en iyi uygulamad\u0131r. \u0130\u015fte ad\u0131mlar:<\/p>\n<ol>\n<li><strong>SELinux Durumunu Kontrol Etme:<\/strong> \u00d6ncelikle SELinux&#8217;un hangi modda \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edin:<\/li>\n<pre><code>\nsestatus\n        <\/code><\/pre>\n<p>E\u011fer &#8220;Current mode: enforcing&#8221; g\u00f6r\u00fcyorsan\u0131z, SELinux etkin demektir ve dikkatli olman\u0131z gerekir.<\/p>\n<li><strong>Redis \u0130\u00e7in Gerekli Dizinlerin G\u00fcvenlik Ba\u011flam\u0131n\u0131 Ayarlama:<\/strong> Redis&#8217;in veri ve log dosyalar\u0131n\u0131 saklad\u0131\u011f\u0131 dizinler i\u00e7in do\u011fru SELinux ba\u011flam\u0131n\u0131 ayarlaman\u0131z gerekir. Daha \u00f6nce <code>\/var\/lib\/redis<\/code> ve <code>\/var\/log\/redis<\/code> dizinlerini olu\u015fturmu\u015ftuk. Bu dizinlere <code>redis_var_lib_t<\/code> ve <code>redis_log_t<\/code> g\u00fcvenlik ba\u011flamlar\u0131n\u0131 atayal\u0131m:<\/p>\n<pre><code>\nsudo semanage fcontext -a -t redis_var_lib_t \"\/var\/lib\/redis(\/.*)?\"\nsudo restorecon -Rv \/var\/lib\/redis\n\nsudo semanage fcontext -a -t redis_log_t \"\/var\/log\/redis(\/.*)?\"\nsudo restorecon -Rv \/var\/log\/redis\n        <\/code><\/pre>\n<p><code>semanage fcontext<\/code> komutu, belirtilen dizinler i\u00e7in kal\u0131c\u0131 SELinux ba\u011flam kurallar\u0131n\u0131 tan\u0131mlar. <code>restorecon<\/code> ise bu kurallar\u0131 mevcut dosya sistemine uygular. Bu komutlar, Redis&#8217;in bu dizinlere yazma ve okuma iznine sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<li><strong>Redis Portu \u0130\u00e7in SELinux Kural\u0131 Olu\u015fturma:<\/strong> E\u011fer Redis varsay\u0131lan 6379 portu d\u0131\u015f\u0131nda bir port kullan\u0131yorsa veya SELinux&#8217;un bu porta \u00f6zel bir k\u0131s\u0131tlamas\u0131 varsa, bir SELinux port kural\u0131 eklemeniz gerekebilir. Varsay\u0131lan port i\u00e7in genellikle otomatik olarak izin verilir, ancak emin olmak i\u00e7in kontrol edebilirsiniz:<\/p>\n<pre><code>\nsudo semanage port -a -t redis_port_t -p tcp 6379\n        <\/code><\/pre>\n<p>Bu komut, 6379 numaral\u0131 TCP portunun <code>redis_port_t<\/code> g\u00fcvenlik ba\u011flam\u0131yla kullan\u0131lmas\u0131na izin verir.<\/p>\n<li><strong>Redis&#8217;in \u0130zinlerini Geni\u015fletme (Gerekirse):<\/strong> Baz\u0131 durumlarda, Redis&#8217;in belirli sistem kaynaklar\u0131na eri\u015fmesi gerekebilir (\u00f6rne\u011fin, a\u011f aray\u00fczleri, di\u011fer servislerle ileti\u015fim). E\u011fer Redis&#8217;iniz beklenmedik SELinux hatalar\u0131 veriyorsa, audit loglar\u0131n\u0131 (<code>\/var\/log\/audit\/audit.log<\/code>) inceleyerek hangi eri\u015fimlerin reddedildi\u011fini g\u00f6rebilir ve buna g\u00f6re \u00f6zel SELinux kurallar\u0131 olu\u015fturabilirsiniz. Genellikle <code>audit2allow<\/code> arac\u0131 bu s\u00fcre\u00e7te yard\u0131mc\u0131 olur.<\/p>\n<pre><code>\n# \u00d6rnek: Audit loglar\u0131nda Redis ile ilgili reddedilen bir eri\u015fim bulursan\u0131z\n# sudo grep redis \/var\/log\/audit\/audit.log | audit2allow -M myredis\n# sudo semodule -i myredis.pp\n        <\/code><\/pre>\n<p>Bu ad\u0131mlar, SELinux&#8217;u devre d\u0131\u015f\u0131 b\u0131rakmadan Redis&#8217;in g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Herhangi bir sorun ya\u015farsan\u0131z, SELinux&#8217;u ge\u00e7ici olarak permissive moda al\u0131p (<code>sudo setenforce 0<\/code>) Redis&#8217;i \u00e7al\u0131\u015ft\u0131rmay\u0131 deneyebilir ve ard\u0131ndan audit loglar\u0131n\u0131 inceleyerek kal\u0131c\u0131 \u00e7\u00f6z\u00fcmler \u00fcretebilirsiniz. \u0130\u015flem bittikten sonra <code>sudo setenforce 1<\/code> ile tekrar enforcing moda d\u00f6nmeyi unutmay\u0131n.<\/p>\n<h3>TLS\/SSL ile \u015eifreli Ba\u011flant\u0131 Nas\u0131l Kurulur?<\/h3>\n<p>Redis&#8217;in a\u011f g\u00fcvenli\u011fini sa\u011flaman\u0131n bir di\u011fer \u00f6nemli y\u00f6n\u00fc, istemci ile sunucu aras\u0131ndaki ileti\u015fimi \u015fifrelemektir. \u00d6zellikle hassas verilerle \u00e7al\u0131\u015f\u0131yorsan\u0131z veya Redis&#8217;e g\u00fcvenilmeyen a\u011flar \u00fczerinden (\u00f6rne\u011fin internet) eri\u015fim sa\u011fl\u0131yorsan\u0131z, TLS\/SSL (Transport Layer Security\/Secure Sockets Layer) kullan\u0131m\u0131 hayati \u00f6neme sahiptir. Redis 6.0 s\u00fcr\u00fcm\u00fc ve sonras\u0131nda yerle\u015fik TLS deste\u011fi sunmaktad\u0131r. Bu, harici bir proxy (\u00f6rne\u011fin stunnel) kullanma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r ve yap\u0131land\u0131rmay\u0131 basitle\u015ftirir.<\/p>\n<p>TLS\/SSL ile \u015fifreli ba\u011flant\u0131 kurmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izlemeniz gerekmektedir:<\/p>\n<ol>\n<li><strong>SSL Sertifikalar\u0131 ve Anahtarlar\u0131 Olu\u015fturma:<\/strong>\n<p>\u00d6ncelikle, Redis sunucunuz i\u00e7in bir SSL sertifikas\u0131 ve \u00f6zel anahtar olu\u015fturman\u0131z gerekir. Bu, bir CA (Certificate Authority) taraf\u0131ndan imzalanm\u0131\u015f ge\u00e7erli bir sertifika olabilece\u011fi gibi, test veya dahili kullan\u0131m i\u00e7in kendi imzalad\u0131\u011f\u0131n\u0131z (self-signed) bir sertifika da olabilir. \u0130\u015fte kendi imzalad\u0131\u011f\u0131n\u0131z bir sertifika olu\u015fturma \u00f6rne\u011fi:<\/p>\n<pre><code>\nsudo mkdir \/etc\/redis\/ssl\ncd \/etc\/redis\/ssl\n\n# CA \u00f6zel anahtar\u0131 olu\u015fturma\nsudo openssl genrsa -out ca.key 4096\n\n# CA sertifikas\u0131 olu\u015fturma\nsudo openssl req -x509 -new -nodes -key ca.key -sha256 -days 365 -out ca.crt -subj \"\/CN=MyRedisCA\"\n\n# Redis sunucu anahtar\u0131 olu\u015fturma\nsudo openssl genrsa -out redis.key 2048\n\n# Redis sunucu sertifika iste\u011fi olu\u015fturma\nsudo openssl req -new -key redis.key -out redis.csr -subj \"\/CN=your_redis_hostname\"\n\n# Redis sunucu sertifikas\u0131n\u0131 CA ile imzalama\nsudo openssl x509 -req -in redis.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out redis.crt -days 365 -sha256\n\n# \u0130zinleri ayarlama\nsudo chmod 600 redis.key\nsudo chown redis:redis redis.key redis.crt ca.crt\n            <\/code><\/pre>\n<p><code>your_redis_hostname<\/code> yerine Redis sunucunuzun ger\u00e7ek ana bilgisayar ad\u0131n\u0131 veya IP adresini yazmal\u0131s\u0131n\u0131z.<\/p>\n<\/li>\n<li><strong>Redis Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme (TLS Ayarlar\u0131):<\/strong>\n<p><code>\/etc\/redis\/6379.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki TLS ile ilgili y\u00f6nergeleri ekleyin veya mevcutlar\u0131 d\u00fczenleyin:<\/p>\n<pre><code>\nsudo nano \/etc\/redis\/6379.conf\n\n# TLS'yi etkinle\u015ftirme\nport 0                  # E\u011fer sadece TLS \u00fczerinden eri\u015fim sa\u011flanacaksa varsay\u0131lan portu kapat\ntls-port 6379           # TLS ba\u011flant\u0131lar\u0131 i\u00e7in kullan\u0131lacak port\ntls-cert-file \/etc\/redis\/ssl\/redis.crt\ntls-key-file \/etc\/redis\/ssl\/redis.key\ntls-ca-cert-file \/etc\/redis\/ssl\/ca.crt # \u0130stemci sertifikalar\u0131n\u0131 do\u011frulamak i\u00e7in CA sertifikas\u0131\ntls-auth-clients no     # \u0130stemcilerin de sertifika ile kimlik do\u011frulamas\u0131 yap\u0131p yapmayaca\u011f\u0131\n                        # \u00dcretim ortam\u0131nda 'yes' olarak ayarlanmas\u0131 \u00f6nerilir.\n                        # Bu durumda, her istemcinin de bir sertifika ile ba\u011flanmas\u0131 gerekir.\n            <\/code><\/pre>\n<p>E\u011fer hem \u015fifreli hem de \u015fifresiz ba\u011flant\u0131lara izin vermek istiyorsan\u0131z, <code>port<\/code> ayar\u0131n\u0131 varsay\u0131lan 6379 olarak b\u0131rak\u0131p, <code>tls-port<\/code> i\u00e7in farkl\u0131 bir port (\u00f6rne\u011fin 6380) kullanabilirsiniz. Ancak g\u00fcvenlik a\u00e7\u0131s\u0131ndan, sadece TLS portunu kullanmak daha iyidir.<\/p>\n<\/li>\n<li><strong>Redis Servisini Yeniden Ba\u015flatma:<\/strong>\n<p>Yap\u0131land\u0131rma de\u011fi\u015fikliklerinin etkili olmas\u0131 i\u00e7in Redis servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code>\nsudo systemctl restart redis\n            <\/code><\/pre>\n<\/li>\n<li><strong>TLS ile Ba\u011flant\u0131y\u0131 Test Etme:<\/strong>\n<p>Redis CLI&#8217;y\u0131 kullanarak TLS \u00fczerinden ba\u011flanmay\u0131 deneyebilirsiniz. E\u011fer istemci kimlik do\u011frulamas\u0131 (<code>tls-auth-clients yes<\/code>) etkinse, istemci taraf\u0131nda da sertifika sa\u011flaman\u0131z gerekecektir:<\/p>\n<pre><code>\n# Sadece sunucu do\u011frulamas\u0131 i\u00e7in (tls-auth-clients no ise)\nredis-cli --tls --cacert \/etc\/redis\/ssl\/ca.crt -a sizin_\u00e7ok_g\u00fc\u00e7l\u00fc_redis_parolan\u0131z\n\n# \u0130stemci do\u011frulamas\u0131 i\u00e7in (tls-auth-clients yes ise)\nredis-cli --tls --cacert \/etc\/redis\/ssl\/ca.crt --cert \/path\/to\/client.crt --key \/path\/to\/client.key -a sizin_\u00e7ok_g\u00fc\u00e7l\u00fc_redis_parolan\u0131z\n            <\/code><\/pre>\n<p>Bu ad\u0131mlarla, Redis sunucunuz ile istemcileriniz aras\u0131ndaki ileti\u015fimi \u015fifreleyerek veri g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rm\u0131\u015f olursunuz. TLS, \u00f6zellikle hassas verilerin a\u011f \u00fczerinden ta\u015f\u0131nd\u0131\u011f\u0131 durumlarda vazge\u00e7ilmez bir g\u00fcvenlik katman\u0131d\u0131r.<\/p>\n<h2>\u0130leri D\u00fczey Kullan\u0131m ve Performans \u0130pu\u00e7lar\u0131<\/h2>\n<p>Redis&#8217;i kurmak ve temel g\u00fcvenli\u011fini sa\u011flamak \u00f6nemli ilk ad\u0131mlard\u0131r, ancak \u00fcretim ortam\u0131nda Redis&#8217;ten en iyi performans\u0131 almak ve istikrarl\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131rmak i\u00e7in ileri d\u00fczey yap\u0131land\u0131rmalara ve izleme stratejilerine ihtiya\u00e7 duyars\u0131n\u0131z. Bu b\u00f6l\u00fcm, Redis&#8217;in performans\u0131n\u0131 optimize etmek ve uzun vadede sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in uygulayabilece\u011finiz ipu\u00e7lar\u0131n\u0131 ve en iyi uygulamalar\u0131 ele almaktad\u0131r. Bellek y\u00f6netimi, kal\u0131c\u0131l\u0131k ayarlar\u0131 ve izleme, Redis&#8217;in g\u00fcc\u00fcn\u00fc tam olarak kullanman\u0131z i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>Redis Performans\u0131n\u0131 Art\u0131rmak \u0130\u00e7in Hangi Ayarlar Yap\u0131lmal\u0131?<\/h3>\n<p>Redis&#8217;in performans\u0131n\u0131 optimize etmek, uygulaman\u0131z\u0131n genel yan\u0131t s\u00fcresini ve verimlili\u011fini do\u011frudan etkiler. \u0130\u015fte Redis&#8217;in performans\u0131n\u0131 art\u0131rmak i\u00e7in <code>redis.conf<\/code> dosyas\u0131nda yapabilece\u011finiz baz\u0131 kritik ayarlar ve dikkat etmeniz gereken noktalar:<\/p>\n<ol>\n<li><strong>Maxmemory ve Eviction Politikalar\u0131:<\/strong>\n<p>Redis bellek i\u00e7i bir veritaban\u0131 oldu\u011fu i\u00e7in, mevcut RAM&#8217;i etkin bir \u015fekilde y\u00f6netmek hayati \u00f6neme sahiptir. <code>maxmemory<\/code> ayar\u0131, Redis&#8217;in kullanabilece\u011fi maksimum bellek miktar\u0131n\u0131 belirler. Bu s\u0131n\u0131ra ula\u015f\u0131ld\u0131\u011f\u0131nda, Redis hangi verilerin silinece\u011fini (eviction) belirlemek i\u00e7in bir politika kullan\u0131r. Bu ayarlar\u0131 do\u011fru yapmak, Redis&#8217;in bellek yetersizli\u011fi nedeniyle \u00e7\u00f6kmesini veya performans d\u00fc\u015f\u00fc\u015f\u00fc ya\u015famas\u0131n\u0131 engeller.<\/p>\n<pre><code>\nmaxmemory 2gb       # Redis'in kullanabilece\u011fi maksimum bellek (\u00f6rne\u011fin 2GB)\nmaxmemory-policy allkeys-lru # Bellek doldu\u011funda hangi anahtarlar\u0131n silinece\u011fini belirler\n            <\/code><\/pre>\n<p><code>maxmemory-policy<\/code> i\u00e7in pop\u00fcler se\u00e7enekler:<\/p>\n<ul>\n<li><code>noeviction<\/code>: Bellek doldu\u011funda yazma komutlar\u0131n\u0131 reddeder (varsay\u0131lan).<\/li>\n<li><code>allkeys-lru<\/code>: En az yak\u0131n zamanda kullan\u0131lan (LRU) anahtarlar\u0131 siler.<\/li>\n<li><code>volatile-lru<\/code>: Sadece TTL (ya\u015fam s\u00fcresi) ayarlanm\u0131\u015f anahtarlar aras\u0131nda LRU&#8217;yu uygular.<\/li>\n<li><code>allkeys-random<\/code>: Rastgele anahtarlar\u0131 siler.<\/li>\n<li><code>volatile-ttl<\/code>: Sadece TTL&#8217;si olan anahtarlar aras\u0131ndan en yak\u0131n zamanda s\u00fcresi dolacak olan\u0131 siler.<\/li>\n<\/ul>\n<p>Uygulaman\u0131z\u0131n kullan\u0131m senaryosuna en uygun politikay\u0131 se\u00e7mek, performans\u0131 ve veri tutarl\u0131l\u0131\u011f\u0131n\u0131 optimize eder.<\/p>\n<\/li>\n<li><strong>Kal\u0131c\u0131l\u0131k Ayarlar\u0131 (RDB\/AOF):<\/strong>\n<p>Kal\u0131c\u0131l\u0131k mekanizmalar\u0131 (RDB ve AOF) Redis&#8217;in ana i\u015f y\u00fck\u00fcn\u00fc etkileyebilir. \u00d6zellikle <code>appendfsync always<\/code> ayar\u0131, her yazma i\u015fleminde diske senkronizasyon yapt\u0131\u011f\u0131 i\u00e7in performans\u0131 ciddi \u015fekilde d\u00fc\u015f\u00fcrebilir. \u00c7o\u011fu senaryo i\u00e7in <code>appendfsync everysec<\/code> iyi bir denge sunar. RDB anl\u0131k g\u00f6r\u00fcnt\u00fcleri de belirli aral\u0131klarla yap\u0131ld\u0131\u011f\u0131 i\u00e7in, yo\u011fun yazma y\u00fck\u00fc alt\u0131nda bu i\u015flemlerin CPU ve I\/O kaynaklar\u0131n\u0131 t\u00fcketebilece\u011fini unutmay\u0131n. Kal\u0131c\u0131l\u0131k ayarlar\u0131n\u0131, veri kayb\u0131 tolerans\u0131n\u0131z ve performans gereksinimleriniz aras\u0131nda bir denge kurarak yapmal\u0131s\u0131n\u0131z.<\/p>\n<\/li>\n<li><strong>LUA Scriptleri ve Pipelining:<\/strong>\n<p>Karma\u015f\u0131k operasyonlar i\u00e7in birden fazla Redis komutunu tek bir atomik i\u015flem olarak \u00e7al\u0131\u015ft\u0131rmak i\u00e7in LUA scriptlerini kullanabilirsiniz. Bu, a\u011f gecikmesini azalt\u0131r ve sunucu taraf\u0131nda daha verimli i\u015flem sa\u011flar. Benzer \u015fekilde, Pipelining, birden fazla komutu tek bir a\u011f iste\u011fiyle Redis&#8217;e g\u00f6ndererek gecikmeyi azalt\u0131r ve verimi art\u0131r\u0131r. Bu teknikler, \u00f6zellikle y\u00fcksek gecikmeli a\u011f ortamlar\u0131nda veya \u00e7ok say\u0131da k\u00fc\u00e7\u00fck komut g\u00f6nderildi\u011finde performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirebilir.<\/p>\n<\/li>\n<li><strong>Network Ayarlar\u0131 ve TCP Backlog:<\/strong>\n<p>Redis&#8217;in <code>tcp-backlog<\/code> ayar\u0131, bekleyen ba\u011flant\u0131 istekleri kuyru\u011funun maksimum boyutunu belirler. Y\u00fcksek trafikli sunucularda bu de\u011feri art\u0131rmak (\u00f6rne\u011fin 511 veya daha y\u00fcksek), ba\u011flant\u0131 kurma s\u0131ras\u0131nda olu\u015fabilecek reddedilen ba\u011flant\u0131 say\u0131s\u0131n\u0131 azaltabilir.<\/p>\n<pre><code>\ntcp-backlog 511\n            <\/code><\/pre>\n<p>Ayr\u0131ca, i\u015fletim sistemi d\u00fczeyinde TCP\/IP parametrelerini (\u00f6rne\u011fin <code>net.core.somaxconn<\/code>, <code>net.ipv4.tcp_max_syn_backlog<\/code>) optimize etmek de genel a\u011f performans\u0131n\u0131 etkileyebilir.<\/p>\n<\/li>\n<li><strong>CPU ve \u0130\u015fletim Sistemi Optimizasyonlar\u0131:<\/strong>\n<p>Redis tek i\u015f par\u00e7ac\u0131kl\u0131 bir yap\u0131ya sahip olsa da, CPU&#8217;nun tam g\u00fcc\u00fcn\u00fc kullanmas\u0131 \u00f6nemlidir. NUMA (Non-Uniform Memory Access) mimarisine sahip sunucularda, Redis&#8217;i belirli bir CPU \u00e7ekirde\u011fine veya NUMA d\u00fc\u011f\u00fcm\u00fcne ba\u011flamak (CPU affinity) performans\u0131 art\u0131rabilir. Ayr\u0131ca, Linux \u00e7ekirdek ayarlar\u0131nda <code>overcommit_memory<\/code> ayar\u0131n\u0131 <code>1<\/code> olarak ayarlamak, Redis&#8217;in fork i\u015flemi s\u0131ras\u0131nda bellek yetersizli\u011fi hatalar\u0131n\u0131 \u00f6nleyebilir.<\/p>\n<pre><code>\nsudo sysctl vm.overcommit_memory=1\n            <\/code><\/pre>\n<p>Bu ayar, Redis&#8217;in arka planda RDB anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fc al\u0131rken belle\u011fi daha esnek kullanmas\u0131na olanak tan\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p>Bu ayarlar\u0131 uygularken, her de\u011fi\u015fikli\u011fin uygulaman\u0131z \u00fczerindeki etkilerini dikkatlice izlemeyi unutmay\u0131n. En iyi performans, genellikle deneme yan\u0131lma ve uygulaman\u0131z\u0131n \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re ince ayar yapma s\u00fcreciyle elde edilir.<\/p>\n<h3>Redis \u0130zleme ve Bak\u0131m \u0130\u00e7in Nelere Dikkat Edilmeli?<\/h3>\n<p>Redis&#8217;in \u00fcretim ortam\u0131nda istikrarl\u0131 ve y\u00fcksek performansla \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in d\u00fczenli izleme ve bak\u0131m hayati \u00f6neme sahiptir. \u0130zleme, potansiyel sorunlar\u0131 proaktif olarak tespit etmenize ve performans\u0131 optimize etmenize yard\u0131mc\u0131 olurken, bak\u0131m i\u015flemleri Redis veritaban\u0131n\u0131n sa\u011fl\u0131kl\u0131 kalmas\u0131n\u0131 sa\u011flar.<\/p>\n<ol>\n<li><strong>Redis Metriklerini \u0130zleme:<\/strong>\n<p>Redis, <code>INFO<\/code> komutu arac\u0131l\u0131\u011f\u0131yla zengin bir dizi metrik sunar. Bu metrikler, bellek kullan\u0131m\u0131, ba\u011flant\u0131 say\u0131s\u0131, komut i\u015fleme h\u0131z\u0131, kal\u0131c\u0131l\u0131k durumu ve replikasyon bilgileri gibi kritik verileri i\u00e7erir. Bu metrikleri d\u00fczenli olarak toplamak ve g\u00f6rselle\u015ftirmek i\u00e7in Prometheus, Grafana, Datadog veya New Relic gibi izleme ara\u00e7lar\u0131n\u0131 kullanabilirsiniz. \u00d6zellikle a\u015fa\u011f\u0131daki metrikler yak\u0131ndan takip edilmelidir:<\/p>\n<ul>\n<li><code>used_memory_human<\/code>: Redis&#8217;in kulland\u0131\u011f\u0131 bellek miktar\u0131. <code>maxmemory<\/code> s\u0131n\u0131r\u0131na yakla\u015f\u0131l\u0131p yakla\u015f\u0131lmad\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/li>\n<li><code>connected_clients<\/code>: Anl\u0131k ba\u011fl\u0131 istemci say\u0131s\u0131.<\/li>\n<li><code>rejected_connections<\/code>: Reddedilen ba\u011flant\u0131 say\u0131s\u0131. Y\u00fcksek de\u011ferler, <code>tcp-backlog<\/code> veya dosya tan\u0131mlay\u0131c\u0131 (file descriptor) limitlerinin yetersiz oldu\u011funu g\u00f6sterebilir.<\/li>\n<li><code>total_commands_processed<\/code>: \u0130\u015flenen toplam komut say\u0131s\u0131. Performans e\u011filimlerini izlemek i\u00e7in \u00f6nemlidir.<\/li>\n<li><code>keyspace_hits<\/code> \/ <code>keyspace_misses<\/code>: \u00d6nbellek isabet oran\u0131. Y\u00fcksek bir isabet oran\u0131, Redis&#8217;in verimli \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/li>\n<li><code>rdb_last_save_time<\/code> \/ <code>aof_last_rewrite_time<\/code>: Kal\u0131c\u0131l\u0131k i\u015flemlerinin ne zaman yap\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/li>\n<li><code>blocked_clients<\/code>: Engellenen istemci say\u0131s\u0131. Y\u00fcksek de\u011ferler, uzun s\u00fcren i\u015flemler veya kilitlenmelerin g\u00f6stergesi olabilir.<\/li>\n<\/ul>\n<p>Bu metrikler i\u00e7in uyar\u0131 e\u015fikleri belirlemek, sorunlar b\u00fcy\u00fcmeden \u00f6nce sizi bilgilendirir.<\/p>\n<\/li>\n<li><strong>Log Dosyalar\u0131n\u0131 Takip Etme:<\/strong>\n<p>Redis&#8217;in log dosyas\u0131 (<code>\/var\/log\/redis\/redis_6379.log<\/code>) \u00f6nemli bilgiler, uyar\u0131lar ve hata mesajlar\u0131 i\u00e7erir. Bu loglar\u0131 d\u00fczenli olarak incelemek veya bir merkezi loglama sistemine (ELK Stack, Splunk) g\u00f6ndermek, Redis&#8217;in davran\u0131\u015f\u0131ndaki anormallikleri veya sorunlar\u0131 tespit etmenize yard\u0131mc\u0131 olur. \u00d6zellikle <code>WARNING<\/code> veya <code>ERROR<\/code> seviyesindeki mesajlara dikkat edin.<\/p>\n<\/li>\n<li><strong>Bellek Bak\u0131m\u0131 ve Kompaktla\u015ft\u0131rma:<\/strong>\n<p>AOF kal\u0131c\u0131l\u0131\u011f\u0131 kullan\u0131yorsan\u0131z, AOF dosyas\u0131n\u0131n boyutu zamanla artabilir. Redis, <code>BGREWRITEAOF<\/code> komutu ile AOF dosyas\u0131n\u0131 otomatik olarak yeniden yazarak (kompaktla\u015ft\u0131rarak) boyutunu k\u00fc\u00e7\u00fclt\u00fcr. <code>redis.conf<\/code> dosyas\u0131ndaki <code>auto-aof-rewrite-percentage<\/code> ve <code>auto-aof-rewrite-min-size<\/code> ayarlar\u0131 ile bu otomatik i\u015flemi tetikleyebilirsiniz. Bu, disk alan\u0131ndan tasarruf sa\u011flar ve AOF kurtarma s\u00fcrelerini k\u0131salt\u0131r.<\/p>\n<\/li>\n<li><strong>Veri Temizli\u011fi ve TTL Kullan\u0131m\u0131:<\/strong>\n<p>Eski veya gereksiz verilerin Redis&#8217;te birikmesini \u00f6nlemek i\u00e7in, anahtarlar\u0131n\u0131za TTL (Time To Live) de\u011ferleri atay\u0131n. Bu, verilerin belirli bir s\u00fcre sonra otomatik olarak silinmesini sa\u011flar ve bellek kullan\u0131m\u0131n\u0131 kontrol alt\u0131nda tutar. Uygulama taraf\u0131nda da, art\u0131k kullan\u0131lmayan verileri d\u00fczenli olarak Redis&#8217;ten temizlemeyi d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<\/li>\n<li><strong>G\u00fcncelleme ve Yama Y\u00f6netimi:<\/strong>\n<p>Redis&#8217;in en son stabil s\u00fcr\u00fcm\u00fcn\u00fc kullanmak, performans iyile\u015ftirmelerinden ve g\u00fcvenlik yamalar\u0131ndan yararlanman\u0131z\u0131 sa\u011flar. D\u00fczenli olarak Redis s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin ve uygun g\u00f6rd\u00fc\u011f\u00fcn\u00fczde g\u00fcncellemeleri uygulay\u0131n. G\u00fcncelleme yapmadan \u00f6nce yedekleme yapmay\u0131 ve test ortam\u0131nda denemeyi unutmay\u0131n.<\/p>\n<\/li>\n<li><strong>Y\u00fcksek Eri\u015filebilirlik ve \u00d6l\u00e7eklenebilirlik \u00c7\u00f6z\u00fcmleri:<\/strong>\n<p>Tek bir Redis sunucusu, tek hata noktas\u0131 (Single Point of Failure &#8211; SPOF) olu\u015fturur. \u00dcretim ortamlar\u0131nda y\u00fcksek eri\u015filebilirlik ve \u00f6l\u00e7eklenebilirlik i\u00e7in Redis Sentinel veya Redis Cluster kullanmay\u0131 d\u00fc\u015f\u00fcnmelisiniz. Sentinel, otomatik failover (devir teslim) ve izleme sa\u011flarken, Cluster veri b\u00f6l\u00fcmlendirme (sharding) ile yatay \u00f6l\u00e7eklenebilirlik sunar.<\/p>\n<\/li>\n<\/ol>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131 ve bak\u0131m stratejileri, Redis altyap\u0131n\u0131z\u0131n sa\u011flam, g\u00fcvenli ve verimli kalmas\u0131na yard\u0131mc\u0131 olacakt\u0131r. D\u00fczenli izleme ve proaktif bak\u0131m, uzun vadede sisteminizin istikrar\u0131n\u0131 garanti eder.<\/p>\n<div class=\"tip\">\n<p>Uzman \u0130pucu: Redis&#8217;in komutlar\u0131n\u0131 izlemek i\u00e7in <code>redis-cli monitor<\/code> komutunu kullanabilirsiniz. Bu, sunucuya g\u00f6nderilen t\u00fcm komutlar\u0131 ger\u00e7ek zamanl\u0131 olarak g\u00f6sterir ve hata ay\u0131klama veya performans analizi i\u00e7in \u00e7ok de\u011ferli olabilir. Ancak, yo\u011fun trafikli ortamlarda dikkatli kullan\u0131lmal\u0131d\u0131r, \u00e7\u00fcnk\u00fc kendi ba\u015f\u0131na performans y\u00fck\u00fc olu\u015fturabilir.<\/p>\n<\/p><\/div>\n<h2>Sonu\u00e7<\/h2>\n<p>CentOS \u00fczerine Redis kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern, y\u00fcksek performansl\u0131 ve g\u00fcvenilir uygulamalar geli\u015ftirmek i\u00e7in at\u0131lmas\u0131 gereken temel ad\u0131mlardan biridir. Bu kapsaml\u0131 rehber boyunca, Redis&#8217;in ne oldu\u011fundan, temel \u00f6zelliklerinden, bir e-ticaret senaryosunda nas\u0131l kullan\u0131labilece\u011finden bahsettik. Ard\u0131ndan, Redis&#8217;i CentOS&#8217;a kaynak koddan ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, bir systemd servisi olarak nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve y\u00f6netece\u011finizi detayl\u0131ca anlatt\u0131k.<\/p>\n<p>En \u00f6nemlisi, Redis sunucunuzun g\u00fcvenli\u011fini sa\u011flamak i\u00e7in kritik ad\u0131mlar\u0131 ele ald\u0131k: Firewalld ile a\u011f eri\u015fimini k\u0131s\u0131tlama, g\u00fc\u00e7l\u00fc bir parola ile kimlik do\u011frulama, RDB ve AOF ile veri kal\u0131c\u0131l\u0131\u011f\u0131n\u0131 sa\u011flama, SELinux politikalar\u0131n\u0131 do\u011fru yap\u0131land\u0131rma ve TLS\/SSL ile \u015fifreli ba\u011flant\u0131lar kurma. Bu g\u00fcvenlik \u00f6nlemleri, verilerinizin yetkisiz eri\u015fime ve potansiyel tehditlere kar\u015f\u0131 korunmas\u0131nda vazge\u00e7ilmezdir. Son olarak, Redis performans\u0131n\u0131 art\u0131rmak i\u00e7in bellek y\u00f6netimi, kal\u0131c\u0131l\u0131k optimizasyonlar\u0131 ve LUA scriptleri gibi ileri d\u00fczey ipu\u00e7lar\u0131n\u0131 payla\u015ft\u0131k ve s\u00fcrekli izleme ile bak\u0131m\u0131n \u00f6nemini vurgulad\u0131k. Unutmay\u0131n, Redis&#8217;in tam potansiyelini kullanmak ve g\u00fcvenli\u011fini sa\u011flamak, s\u00fcrekli \u00f6\u011frenme ve en iyi uygulamalar\u0131 takip etme s\u00fcrecidir. Bu rehber, yolculu\u011funuzda sa\u011flam bir ba\u015flang\u0131\u00e7 noktas\u0131 sunmaktad\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt>Redis&#8217;in varsay\u0131lan portu nedir ve de\u011fi\u015ftirilmeli midir?<\/dt>\n<dd>Redis&#8217;in varsay\u0131lan portu 6379&#8217;dur. G\u00fcvenlik a\u00e7\u0131s\u0131ndan, \u00f6zellikle Redis&#8217;e d\u0131\u015far\u0131dan eri\u015fim sa\u011flanacaksa, bu portu de\u011fi\u015ftirmek ek bir g\u00fcvenlik katman\u0131 sa\u011flayabilir (security by obscurity). Ancak, portu de\u011fi\u015ftirmek tek ba\u015f\u0131na yeterli bir g\u00fcvenlik \u00f6nlemi de\u011fildir; firewall, kimlik do\u011frulama ve TLS\/SSL gibi di\u011fer \u00f6nlemlerle birlikte kullan\u0131lmal\u0131d\u0131r. Portu de\u011fi\u015ftirmek i\u00e7in <code>redis.conf<\/code> dosyas\u0131ndaki <code>port<\/code> y\u00f6nergesini d\u00fczenlemeniz ve firewall kurallar\u0131n\u0131z\u0131 g\u00fcncellemeniz gerekir.<\/dd>\n<dt>Redis verileri diskte nas\u0131l kal\u0131c\u0131 hale getirilir?<\/dt>\n<dd>Redis, verileri diskte kal\u0131c\u0131 hale getirmek i\u00e7in iki ana mekanizma sunar: RDB (Redis Database Backup) ve AOF (Append Only File). RDB, veritaban\u0131n\u0131n belirli aral\u0131klarla anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc al\u0131r ve s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f bir ikili dosya olarak kaydeder. AOF ise Redis&#8217;e gelen her yazma komutunu bir log dosyas\u0131na kaydeder. Genellikle, veri kayb\u0131n\u0131 en aza indirmek ve h\u0131zl\u0131 kurtarma sa\u011flamak i\u00e7in her iki mekanizman\u0131n da birlikte kullan\u0131lmas\u0131 \u00f6nerilir.<\/dd>\n<dt>Redis&#8217;i \u00fcretim ortam\u0131nda kullan\u0131rken nelere dikkat etmeliyim?<\/dt>\n<dd>\u00dcretim ortam\u0131nda Redis kullan\u0131rken dikkat etmeniz gerekenler \u015funlard\u0131r: g\u00fc\u00e7l\u00fc bir parola ile kimlik do\u011frulama, firewall ile a\u011f eri\u015fimini k\u0131s\u0131tlama, TLS\/SSL ile \u015fifreli ba\u011flant\u0131lar, RDB ve AOF ile kal\u0131c\u0131l\u0131\u011f\u0131 do\u011fru yap\u0131land\u0131rma, Redis&#8217;i root olmayan bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131rma, yeterli bellek ve CPU kaynaklar\u0131n\u0131 sa\u011flama, d\u00fczenli izleme ve log analizi yapma, TTL kullanarak bellek y\u00f6netimini optimize etme ve y\u00fcksek eri\u015filebilirlik i\u00e7in Redis Sentinel veya Redis Cluster gibi \u00e7\u00f6z\u00fcmleri de\u011ferlendirme.<\/dd>\n<dt>Redis g\u00fcvenlik a\u00e7\u0131klar\u0131 nelerdir ve nas\u0131l \u00f6nlenir?<\/dt>\n<dd>Redis&#8217;in ba\u015fl\u0131ca g\u00fcvenlik a\u00e7\u0131klar\u0131 \u015funlard\u0131r: Parolas\u0131z veya zay\u0131f parolal\u0131 eri\u015fim, internete a\u00e7\u0131k b\u0131rak\u0131lan port, komut enjeksiyonu (\u00f6zellikle EVAL komutu ile), ve kimlik do\u011frulamas\u0131 olmayan eri\u015fimden kaynaklanan veri s\u0131z\u0131nt\u0131lar\u0131 veya silinmeleri. Bu a\u00e7\u0131klar\u0131 \u00f6nlemek i\u00e7in g\u00fc\u00e7l\u00fc bir parola ayarlay\u0131n, firewall ile eri\u015fimi sadece g\u00fcvenilir IP&#8217;lerle k\u0131s\u0131tlay\u0131n, TLS\/SSL ile ileti\u015fimi \u015fifreleyin, Redis&#8217;i ayr\u0131cal\u0131ks\u0131z bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131n ve <code>protected-mode<\/code>&#8216;u etkin tutun. Ayr\u0131ca, Redis&#8217;i her zaman en g\u00fcncel stabil s\u00fcr\u00fcmde tutarak bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 yamalar\u0131 uygulay\u0131n.<\/dd>\n<dt>Redis Sentinel veya Cluster ne zaman kullan\u0131lmal\u0131d\u0131r?<\/dt>\n<dd>Redis Sentinel, tek bir Redis sunucusunun tek hata noktas\u0131 olmas\u0131n\u0131 engellemek ve y\u00fcksek eri\u015filebilirlik sa\u011flamak i\u00e7in kullan\u0131l\u0131r. E\u011fer uygulaman\u0131z\u0131n Redis hizmetinin s\u00fcrekli ayakta kalmas\u0131 kritikse ve otomatik failover (devir teslim) yetene\u011fine ihtiyac\u0131n\u0131z varsa Sentinel kullanmal\u0131s\u0131n\u0131z. Redis Cluster ise veriyi birden fazla Redis d\u00fc\u011f\u00fcm\u00fcne b\u00f6lerek (sharding) yatay \u00f6l\u00e7eklenebilirlik sa\u011flamak i\u00e7in kullan\u0131l\u0131r. E\u011fer veri k\u00fcmeniz tek bir sunucunun belle\u011fine s\u0131\u011fmayacak kadar b\u00fcy\u00fckse veya \u00e7ok y\u00fcksek okuma\/yazma y\u00fcklerini da\u011f\u0131tman\u0131z gerekiyorsa Cluster&#8217;\u0131 de\u011ferlendirmelisiniz.<\/dd>\n<\/dl>\n<style>\n        \/* Mobil uyumlu HTML i\u00e7in \u00f6rnek CSS Media Query *\/\n        \/* Bu CSS sadece bir \u00f6rnek olup, body i\u00e7eri\u011finde do\u011frudan uygulanmaz. *\/\n        \/* Ger\u00e7ek bir web sayfas\u0131nda <head> etiketinde veya harici bir .css dosyas\u0131nda yer almal\u0131d\u0131r. *\/\n        @media (max-width: 768px) {\n            body {\n                font-size: 16px;\n                line-height: 1.6;\n                padding: 15px;\n            }\n            h2 {\n                font-size: 24px;\n            }\n            h3 {\n                font-size: 20px;\n            }\n            img {\n                max-width: 100%;\n                height: auto;\n            }\n            table {\n                display: block;\n                overflow-x: auto;\n                white-space: nowrap;\n            }\n            pre {\n                white-space: pre-wrap;\n                word-wrap: break-word;\n            }\n        }<\/p>\n<p>        .tip {\n            background-color: #e6f7ff;\n            border-left: 4px solid #0056b3;\n            padding: 15px;\n            margin: 20px 0;\n            border-radius: 4px;\n            color: #004085;\n        }\n        .tip p {\n            margin: 0;\n        }\n        pre {\n            background-color: #f4f4f4;\n            border: 1px solid #ddd;\n            border-left: 3px solid #f36d33;\n            color: #666;\n            page-break-inside: avoid;\n            font-family: monospace;\n            font-size: 15px;\n            line-height: 1.6;\n            margin-bottom: 1.6em;\n            max-width: 100%;\n            overflow: auto;\n            padding: 1em 1.5em;\n            display: block;\n            word-wrap: break-word;\n        }\n        code {\n            font-family: monospace;\n            background-color: #eee;\n            padding: 2px 4px;\n            border-radius: 3px;\n        }\n        pre code {\n            background-color: transparent;\n            padding: 0;\n            border-radius: 0;\n        }\n    <\/style>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CentOS \u00dczerine Redis Kurulumu ve G\u00fcvenli\u011fi: Ad\u0131m Ad\u0131m K\u0131lavuz CentOS i\u015fletim sistemi \u00fczerinde Redis&#8217;i kurmak ve g\u00fcvenli\u011fini sa\u011flamak,&hellip;","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":[241],"tags":[],"class_list":{"0":"post-39833","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?<\/title>\n<meta name=\"description\" content=\"CentOS i\u015fletim sistemi \u00fczerinde Redis&#039;i kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern uygulamalar i\u00e7in kritik bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, Redis&#039;in temel \u00f6zelliklerinden ba\u015flayarak, CentOS sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 optimize edece\u011finizi ve en \u00f6nemlisi, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Uygulamal\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla, Redis deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131maya haz\u0131r olun.\" \/>\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\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?\" \/>\n<meta property=\"og:description\" content=\"CentOS i\u015fletim sistemi \u00fczerinde Redis&#039;i kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern uygulamalar i\u00e7in kritik bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, Redis&#039;in temel \u00f6zelliklerinden ba\u015flayarak, CentOS sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 optimize edece\u011finizi ve en \u00f6nemlisi, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Uygulamal\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla, Redis deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131maya haz\u0131r olun.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-24T09:24:04+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=\"44 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?\",\"datePublished\":\"2026-02-24T09:24:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/\"},\"wordCount\":8034,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/\",\"name\":\"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-24T09:24:04+00:00\",\"description\":\"CentOS i\u015fletim sistemi \u00fczerinde Redis'i kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern uygulamalar i\u00e7in kritik bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, Redis'in temel \u00f6zelliklerinden ba\u015flayarak, CentOS sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 optimize edece\u011finizi ve en \u00f6nemlisi, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Uygulamal\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla, Redis deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131maya haz\u0131r olun.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?\"}]},{\"@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":"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?","description":"CentOS i\u015fletim sistemi \u00fczerinde Redis'i kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern uygulamalar i\u00e7in kritik bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, Redis'in temel \u00f6zelliklerinden ba\u015flayarak, CentOS sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 optimize edece\u011finizi ve en \u00f6nemlisi, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Uygulamal\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla, Redis deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131maya haz\u0131r olun.","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\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/","og_locale":"tr_TR","og_type":"article","og_title":"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?","og_description":"CentOS i\u015fletim sistemi \u00fczerinde Redis'i kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern uygulamalar i\u00e7in kritik bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, Redis'in temel \u00f6zelliklerinden ba\u015flayarak, CentOS sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 optimize edece\u011finizi ve en \u00f6nemlisi, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Uygulamal\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla, Redis deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131maya haz\u0131r olun.","og_url":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-24T09:24:04+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"44 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?","datePublished":"2026-02-24T09:24:04+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/"},"wordCount":8034,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/","url":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/","name":"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-24T09:24:04+00:00","description":"CentOS i\u015fletim sistemi \u00fczerinde Redis'i kurmak ve g\u00fcvenli\u011fini sa\u011flamak, modern uygulamalar i\u00e7in kritik bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, Redis'in temel \u00f6zelliklerinden ba\u015flayarak, CentOS sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 optimize edece\u011finizi ve en \u00f6nemlisi, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Uygulamal\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla, Redis deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131maya haz\u0131r olun.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/redis-nedir-ve-centos-ortaminda-neden-tercih-edilmelidir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Redis Nedir ve CentOS Ortam\u0131nda Neden Tercih Edilmelidir?"}]},{"@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\/39833","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=39833"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39833\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=39833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=39833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=39833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}