一個更有趣的示例程序

     我們上邊寫的那個示例程序不夠好玩。他以簡單的方式寫入到集群而沒有檢查寫入的正確性。

     從我們的觀點看,集群接收寫入命令可能每次操作總是把鍵foo寫入 為42,并且我們一點也沒有注意到。

     所以在redis-rb-cluster庫內(nèi),有一個更有趣的應(yīng)用程序consistency-test.rb。他使用了一組計數(shù)器,默認(rèn)是1000,并且發(fā)送INCR命令來增加計數(shù)器。

     然而除了寫入命令,這個程序還做了其它的兩件事:

     》當(dāng)計數(shù)器被 INCR更改,這個程序?qū)⒂涀∵@次寫入。

     》每次寫入都會讀取一個隨機的計數(shù)器,并且檢查他的值是否是預(yù)期的值,并和內(nèi)存中的值進(jìn)行對比。

 

     這意味著這是一個簡單的一致性檢查程序,并且這個程序會告訴你集群是否有丟失寫入,或者有收到寫入但沒有收到確認(rèn)。在第一個示例我們將看到一個計數(shù)器有一個值,這個值小于我們記住的的值,第二個示例這個值比記住的值大。

     運行consistency-test 程序,每秒種將產(chǎn)生一行輸出:

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計算培訓(xùn),高端軟件開發(fā)培訓(xùn),項目經(jīng)理培訓(xùn)

$ ruby consistency-test.rb925 R (0 err) | 925 W (0 err) |5030 R (0 err) | 5030 W (0 err) |9261 R (0 err) | 9261 W (0 err) |13517 R (0 err) | 13517 W (0 err) |17780 R (0 err) | 17780 W (0 err) |22025 R (0 err) | 22025 W (0 err) |25818 R (0 err) | 25818 W (0 err) |

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式