Skip to content

Latest commit

 

History

History
78 lines (46 loc) · 3.67 KB

redis.md

File metadata and controls

78 lines (46 loc) · 3.67 KB

Redis

Giriş

Redis açık kaynak, gelişmiş bir anahtar-değer deposudur. Anahtarlar stringler, hashler, listeler, kümeler ve sıralı kümeler taşıyabildikleri için sıklıkla bir veri yapısı sunucusu olarak da ifade edilmektedir.

Not: Eğer PECL aracılığıyla yüklenmiş Redis PHP eklentiniz varsa, app/config/app.php dosyanızda Redis için kullanılan lakabın ismini değiştirmeniz gereklidir.

Yapılandırma

Uygulamanızdaki Redis yapılandırması app/config/database.php dosyasında saklanır. Bu dosya içerisinde, uygulamanız tarafından kullanılan Redis sunucularını içeren bir redis dizisi göreceksiniz:

'redis' => array(

	'cluster' => true,

	'default' => array('host' => '127.0.0.1', 'port' => 6379),

),

Geliştirme için bu "default" sunucu yapılandırması yeterlidir. Yine de siz ortamınıza göre bu diziyi değiştirmekte serbestsiniz. Sadece her Redis sunucusuna bir ad verin ve bu sunucu tarafından kullanılan ana bilgisayarı (host) ve bağlantı noktasını (port) belirtin.

Buradaki cluster seçeneği Laravel Redis istemcisine Redis düğümleriniz arasında istemci taraflı bölümlendirme (sharding) yapmasını söylemektedir. Böylece siz düğüm havuzu ve büyük miktarda kullanılabilir RAM oluşturabilirsiniz. Bununla birlikte istemci taraflı bölümlendirmenin başarısızlık durumlarını halledemediğini unutmayın. Bu nedenle, istemci taraflı bölümlendirme, esasında başka bir asıl veri deposunda olup da önbelleğe alınmış veriler için uygundurlar.

Kullanım

Bir Redis olgusunu Redis::connection metodunu çağırarak getirebilirsiniz:

$redis = Redis::connection();

Bu size "default" Redis sunucusunun bir olgusunu verecektir. Eğer sunucu öbekleme (clustering) kullanmıyorsanız, Redis yapılandırmanızda tanımlanan belirli bir sunucuyu getirmek için connection metodunda parametre olarak o sunucunun adını geçersiniz:

$redis = Redis::connection('digerbirsunucu');

Redis istemci olgusu oluşturduktan sonra, artık bu olguya her türlü Redis komutu verebiliriz. Laravel Redis sunucusuna komut geçerken sihirli metodlar tekniğini kullanır:

$redis->set('isim', 'Taylor');

$isim = $redis->get('isim');

$degerler = $redis->lrange('isimler', 5, 10);

Görüldüğü gibi komut parametreleri basitçe sihirli metodlara geçilmektedir. Tabii ki siz sihirli metod tekniğini kullanmak zorunda değilsiniz, command metodunu kullanarak da sunucuya komut geçebilirsiniz:

$degerler = $redis->command('lrange', array(5, 10));

Komutlarınızı sadece "default" bağlantıda çalıştıracağınız zaman, direkt Redis sınıfındaki statik sihirli metodları kullanın:

Redis::set('isim', 'Taylor');

$isim = Redis::get('isim');

$degerler = Redis::lrange('isimler', 5, 10);

Not: Redis Önbellekleme ve Oturum sürücüleri Laravel'de mevcuttur.

Pipeline Kullanma

Bir operasyonda sunucuya birçok komut göndermeniz gerektiğinde pipeline kullanılmalıdır. Bunu yapmak için pipeline komutunu kullanın:

Sunucularınıza Birden Çok Komutun Döşenmesi

Redis::pipeline(function($pipe)
{
	for ($i = 0; $i < 1000; $i++)
	{
		$pipe->set("key:$i", $i);
	}
});