一個(gè)更有趣的示例程序

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

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

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

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

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

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

 

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

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

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開發(fā)培訓(xùn),項(xiàng)目經(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í)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式