2012-05-17 26 views
15

Çoğu kişi, farklı bağlantı noktalarında (6379 ve 6380) ayrı Redis örnekleri çalıştırmanızı öneririz. Bu neden ikinci bir veritabanı oluşturulmasında daha sık önerilir? Henüz belgelerle tam olarak ilgilenmiyorum, ancak çoğu örnek bağlantı kurarken 'Redis veri tabanının seçiminden' bahsetmiyor. Yakut istemciden bir örnek, NRK/PREDIS BENİOKU:Birden Fazla Yeniden Yapılandırma Örneği

$redis = new Predis\Client(array(
    'scheme' => 'tcp', 
    'host' => '10.0.0.1', 
    'port' => 6379, 
)); 

Şu anda Campfire ile ofisimizde Hubot çalıştırın ve sadece kullanımda tek adaptör olabilir çünkü GTalk için ikinci birinde çalışıyorum Her bir Hubot örneği için. Bu yüzden, ikinci bir veri tabanı veya Redis örneğini oluşturmayı düşünüyorum, böylece iki göbek arasındaki veri yalıtılır. Fakat daha fazla anlatmadan önce, sadece ikinci bir veritabanı oluşturmak yerine neden ayrı örnekleri kullanacağınızı anlamak istedim.

+0

Başka birinin aynı şeyi yapması durumunda, iki hub ve iki redis örneği kullandığınızda REDISTOGO_URL ortam değişkenini belirtmeniz gerekir. – brock

cevap

32

iki ana nedeni:

  1. birden fazla veritabanı genellikle kötü olarak kabul edilir ve bir gün kaldırılacaktır için ve oldukça küçük olsa da, bazı performans cezaları var. Ana nedeni, iki farklı veri kaynağına ihtiyacınız varsa, redis'in tek iş parçacığına sahip olması gerektiğidir. Diğer bir redisample, muhtemelen sahip olduğunuz başka bir CPU'yu kullanacağından, performansı artırır, oysa bir örnek her zaman bir tanesini kullanacaktır. Farklı redis örneğinin, fdiffecten kalıcılık ayarına sahip olması mümkündür. Örneğin bir örneği sadece bellek kullanabilir ve diğer vs ayrı kimlik doğrulama şifreleri, LRU stratejileri, olması gibi depolama gibi Redis Persistence

sonra orada başka avantajları dosyaları kullanabilirsiniz - Yalnızca örnek düzeyinde yapılabilir.

+0

Awesome - İyi bir neden olduğunu düşündüm. Teşekkürler – brock

İlgili konular