CodeIgniter ile Redis Cache Kurulumu

0 Yanıt 27 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Kodlama ve web geliştirme dünyasında performansı artırmak için cache stratejileri kritik öneme sahiptir. Özellikle büyük ölçekli uygulamalarda, veri erişim hızını artırmak ve sunucu yükünü hafifletmek amacıyla Redis gibi bellek içi veri yapısı kullanımı oldukça yaygındır. Bu noktada, CodeIgniter framework’ü ile Redis entegrasyonu, doğru yapılandırıldığında projeye ciddi anlamda katkı sağlar.

İlk olarak, Redis’in sisteminizde kurulu olması gerekir. Linux tabanlı sistemlerde genellikle şu komutla kurulabilir:
KOD
1apt-get install redis-server
veya
KOD
1yum install redis
. Kurulum sonrası Redis servisini aktif hale getirip, çalıştığından emin olun.

CodeIgniter içerisinde Redis’i kullanabilmek için, öncelikle uygun bir kütüphane veya sürücü eklemeniz gerekir. Geliştiriciler genellikle Predis veya phpredis uzantısını tercih eder. En pratik yol, composer aracılığıyla Predis kütüphanesini projeye dahil etmektir:

KOD
1composer require predis/predis


Daha sonra, CodeIgniter’ın yapılandırma dosyasına (application/config/config.php veya özel bir config dosyası) Redis ayarlarını eklemek gerekir. Örneğin:

KOD
12345[php]  
$config['redis_host'] = '127.0.0.1';  
$config['redis_port'] = 6379;  
$config['redis_password'] = ''; // Şifre varsa  
[/php]


Kütüphaneyi yükleyip, kullanmak için, kendi sürücü sınıfınızı veya helper fonksiyonlarınızı yazabilirsiniz. Alternatif olarak, CodeIgniter’ın kendi cache sürücüsünü kullanmak yerine, özel bir Redis Cache sınıfı geliştirmek tercih edilir. Bu sınıf, Redis’e bağlanıp, veri set ve get işlemlerini gerçekleştirir.

Bir örnek:

KOD
123456789101112131415161718192021222324252627  
class Redis_cache {  
    protected $redis;  
  
    public function __construct() {  
        $this->redis = new Predis\Client([  
            'scheme' => 'tcp',  
            'host'   => config_item('redis_host'),  
            'port'   => config_item('redis_port'),  
            'password' => config_item('redis_password'),  
        ]);  
    }  
  
    public function set($key, $value, $expiration = 3600) {  
        $this->redis->set($key, serialize($value));  
        $this->redis->expire($key, $expiration);  
    }  
  
    public function get($key) {  
        $value = $this->redis->get($key);  
        return unserialize($value);  
    }  
  
    public function delete($key) {  
        $this->redis->del($key);  
    }  
}  


Bu yapı, Redis cache kullanımını kolaylaştırır ve Performans optimizasyonuna katkı sağlar. Ayrıca, cache’in invalidasyonu ve yönetimi açısından da esneklik sunar.

Son olarak, uygulamanın performansını izlemek ve Redis’in etkinliğini gözetmek için uygun araçlar ve loglama mekanizmaları kullanmak, sistem kararlılığı açısından önemlidir.

Redis ve CodeIgniter entegrasyonunu başarıyla sağlamak, büyük ölçekli ve yüksek trafikli projelerde ciddi farklar yaratır. Bu yapılandırma, uygulamanızın hızını ve ölçeklenebilirliğini artırırken, aynı zamanda sunucu kaynaklarınızı daha verimli kullanmanıza olanak tanır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi