Laravel ile Redis (Remote Dictionary Service) İşlemleri Nasıl Yapılır?

Laravel ile Redis İşlemleri Nasıl Yapılır?

Merhaba, bu yazımda Redis (Remote Dictionary Service) işlemlerinden bahsetmeye çalışacağım.

Redis; C dili ile yazılmıştır. Tanımladığımız değerleri bellekte Anahtar-Değer (Key-Value) şeklinde tutmaktadır. Verileri bellekte tuttuğu için çok hızlıdır.

01. INFO keyspace Komutu

Bu komut ile Redis database listemizi, database içindeki key sayılarımızı görüntülüyoruz.

02. SET Komutu

Bu komut ile Redis’e bir anahtar ve bir değer ilave ediyoruz.

03. KEYS Komutu

Bu komut ile Redis, kayıtlı anahtarlarımızın listesini verecektir.

04. DEL Komutu

Bu komut ile Redis’e silmek istediğimiz anahtarı söylüyoruz.

Örnek Laravel Çalışması

Laravel ile örnek bir çalışma yapalım. Laravel’de bir Middleware oluşturalım. Oluşturduktan sonra her request (istek) için bu Middleware’i aktif edelim. Bu Middleware içinde kullanıcının ip adresini, user_agent bilgisini, istek metodunu, istek yolunu, istek sorgu parametrelerini ve istek zamanını Redis’e kayıt edelim.

Artık sunucumuza her istek geldiğinde bu bilgileri Redis’e kayıt ediyoruz. Fakat bu verileri belirli bir periyot ile silmemiz gerekir. Bunun içine Laravel’de bir arkaplan işi (background job) yazarak Redis’teki verilerimizi veri tabanına aktaracağız. Bunun için “App\Console\Kernel.php” dosyasını kullanacağız.

Yukarıdaki örnekte de görebileceğiniz gibi veri tabanına kaydettikten sonra Redis üzerinden anahtarımızı siliyoruz.

Peki, Neden Redis Kullandık?

Yukarıdaki örnekte; Middleware içinde neden direkt veri tabanına yazmadık?

Çünkü; Redis bellekte çalıştığı için çok hızlıdır. İstek sayısının çok fazla olduğu sistemlerde, her istek için minimum veri tabanı sorgusu çalıştırmak zorundayız. Gereksiz sorgular, uygulama performansını olumsuz etkileyeceği için bu yöntemi tercih ettik.

Bu sayfa 31 kez görüntülendi.

Ahmet

Sıradan bloglardan birisi :) Google+

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorum onaylama sistemi etkin; yorumunuzun yayınlanması biraz zaman alabilir.