您的位置:首頁>正文

Redis大幅性能提升之Batch批量讀寫

提示:本文針對的是StackExchange.Redis

一、問題呈現

前段時間在開發的時候, 遇到了redis批量讀的問題, 由於在StackExchange.Redis裡面我確實沒有找到PipeLine命令, 找到的是Batch命令, 因此對其用法進行了探究一下。

下面的代碼是我之前寫的:

從上面的代碼中可以看出, 並不是批量讀, 經過性能測試, 性能確實是要遠遠低於用Batch操作, 因為HashGetAll方法被執行了多次。

下面給出批量方法:

二、解決問題方法

具體的用法是:

var batch = db.CreateBatch();

...//這裡寫具體批量操作的方法

batch.Execute();

2.1批量寫:

具體代碼:

這個方法裡執行的是批量插入學生實體資料, 這裡只是針對Hash, 其它的也一樣操作。

2.2批量讀:

具體代碼:

這個方法是批量讀取學生實體資料, 批量拿到實體資料後, 將其轉化成我們需要的資料。 下面給出性能對比。

2.3性能對比:

10條數據, 約4-5倍差距:

1000條數據, 約28倍的差距:

隨著資料了增多, 差距將越來越大。

三、源碼測試案例

上面是批量讀寫實體資料, 下面給出StackExchange.Redis源碼測試案例裡的批量讀寫寫法:

這個方法裡也給出了批量寫和讀的操作。

好了, 先說到這裡了。

更多閱讀推薦:

優就業500萬陽光就業基金:

http://www.ujiuye.com/zt/jyfc/?wt.bd=fq37300

優就業官網:http://www.ujiuye.com/?wt.bd=fq37300

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示