2014-04-22 29 views
0

是否可以指示Redis累積一組操作,然後發佈「全部發布」命令來發布整個操作集(按線性順序)?redis積累併發布一組操作

所以你不知何故設置了一個標記(startpublish?),並且緩存將累積從該點開始接收的所有操作(hdelhset)。

最後,您會發出一個命令(publishall?),然後Redis將以收到的線性順序廣播命令。

重要提示:我需要通過Redis Sentinel Client(程序包redis-sentinel-client)以編程方式在Node.js中執行設置操作。

回答

0

您可以使用multiexec redis命令將多個命令排隊到redis。

所以基本上你最終得到的是這樣的:

redis > multi 
redis > set foo bar 
redis > set alpha beta 
redis > exec 

你獲得了是一個數組,在你執行命令的順序相同。因此,在結果數組的索引0處設置的結果將包含命令set foo bar的錯誤和/或結果。

實施例爲多命令可以在這裏找到:http://redis.io/commands/multi

+0

感謝您的響應。 ''''''exec'只能通過Redis CLI使用?我需要可以從Redis客戶端發送的命令 - 例如Redis Sentinel Client。 (我已經修改了我的原始問題以反映這一點。) – BaltoStar

+0

您提到的包的文檔表明'sentinelClient'就像任何其他常規的Redis客戶端一樣。所以是的,我認爲上述應該很好。 我使用支持multi和exec命令的https://github.com/mranney/node_redis。檢查你使用的lib的支持。 – dezinezync