2013-02-19 74 views
1

設置: 我們有一個redis的設置,其中我們有一個主站和4個從站的redis在同一臺機器上運行。原因需要使用多個實例是 -Redis Mget vs獲得

  • 爲了避免熱鍵
  • 內存是不是約束作爲鍵的數目較少〜10K(我們有一個超大的EC2機)

請求: 我們通過每個客戶端請求約60次獲得來自redis的請求。我們鞏固了60個獲得4個小工具。我們爲所有的請求建立一個連接(隨機選擇一個從機)。

問題

  • 是否有意義與在奴隸複製的數據運行的Redis的多個實例?
  • 在我們的案例中,是否讓mgets而不是獲取幫助我們在同一臺機器上擁有所有實例的位置?

回答

1
  • 運行在同一計算機上的多個redis的實例可以是有用的。 Redis是單線程的,所以如果你的機器有多個內核,你可以通過使用多個實例獲得更多的CPU能力。 Craigslist在此配置中運行,如文檔所示:http://blog.zawodny.com/2011/02/26/redis-sharding-at-craigslist/

  • mget與get應該有所幫助,因爲你只做了4次到redis服務器的訪問,而不是60次,增加了吞吐量 - 在同一臺機器上運行多個實例不應該改變這種情況。