2014-09-20 24 views
0

我想在redis中擁有一些對象數據,並且想要顯示錶中的所有對象。有效查詢來自redis的多個散列

在SQL我只想得到所有對象的整個行,並在Redis的視圖

顯示它,我不想單獨查詢每個哈希值,因爲這將是無法忍受緩慢。

假設我知道哈希鍵和我想拉的哈希名稱,有沒有辦法很有效地做到這一點?

回答

0

我不確定爲什麼你認爲查詢每個散列會是不可忍受的緩慢。如果你循環你的散列鍵併爲每個字段名稱做一個HMGET,那麼你應該很好,只要你處理這些請求。

或者,您可以在一個Lua腳本中執行此操作,該腳本接受(某些)鍵名稱作爲KEYS和字段爲ARGV,以任何您需要的格式返回答案。

+0

Redis的本身就是快,但問題是,每個請求的Redis需要經過RTT的〜200ms的,這是造成結果慢慢回來。我可以在歐洲AWS設置RedisLabs嗎?那可能會縮短網絡時間? – 2014-09-20 14:52:41

+0

200ms確實是一個很長的rtt。是的,Redis Cloud在AWS eu-west中可用。你的應用程序也在那裏運行? – 2014-09-20 15:32:50

+0

是的,服務器和主分貝在那裏。當我使用redis時,我不確定redis的位置和服務器的位置。這是一個模糊的問題 – 2014-09-20 15:39:10

0
  • 商店集中所有散列鍵,讓我們把它稱爲「hashkeyset」
  • 使用「排序」命令來檢索所有的散列值排序hashkeyset獲得* - > field0獲得* - >字段1 ...獲得* - >字段N
  • 你可以找到更多關於「排序」在這個環節http://redis.io/commands/sort