Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解
目前Redis已經(jīng)更新到了6.0.2,那目前StackExchange.Redis 和 ServiceStack.Redis 兩個客戶端有什么區(qū)別呢?
StackExchange.Redis 客戶端是開源免費,而ServiceStack.Redis目前我測試了4.0以上版本就有每個小時6000的限制。性能方面,對比測試,ServiceStack比StackExchange性能上高將近50%。


以上分別是5000條和10w條數(shù)據(jù)寫入讀入比對,我這是將ServiceStack解除了每小時6000條數(shù)據(jù)的限制,以下是測試代碼:
static void Main(string[] args)
{
DateTime time1 = DateTime.Now;
DateTime time2 = DateTime.Now;
#region StackExchange
{
IConnectionMultiplexer proxy = ConnectionMultiplexer.Connect("127.0.0.1,abortConnect=false");
//proxy.GetServer("host",6379).FlushDatabase(0);
IDatabase db = proxy.GetDatabase();
db.KeyDelete("Key1");
time1 = DateTime.Now;
for (int i = 0; i < 100000; i++)
{
db.StringSet("Key1", "這是StackExchange");
}
time2 = DateTime.Now;
Console.WriteLine("StackExchange 賦值 100000 次, 耗時: {0} 秒", (time2 - time1).TotalSeconds);
time1 = DateTime.Now;
for (int i = 0; i < 100000; i++)
{
RedisValue value = db.StringGet("Key1");
}
time2 = DateTime.Now;
Console.WriteLine("StackExchange 取值 100000 次, 耗時: {0} 秒", (time2 - time1).TotalSeconds);
Console.WriteLine("----------------------------------");
}
#endregion
#region ServiceStack
using (RedisClient redisClient = new RedisClient("127.0.0.1", 6379))
{
redisClient.FlushDb();
redisClient.FlushAll();
time1 = DateTime.Now;
for (int i = 0; i < 100000; i++)
{
redisClient.Set("Key2", "這是ServiceStack");
}
time2 = DateTime.Now;
Console.WriteLine("ServiceStack 賦值 100000 次, 耗時: {0} 秒", (time2 - time1).TotalSeconds);
Thread.Sleep(1000);
time1 = DateTime.Now;
for (int i = 0; i < 100000; i++)
{
redisClient.Get<string>("Key2");
}
time2 = DateTime.Now;
Console.WriteLine("ServiceStack 取值 100000 次, 耗時: {0} 秒", (time2 - time1).TotalSeconds);
Console.WriteLine("----------------------------------");
}
#endregion
}
到此這篇關(guān)于Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解的文章就介紹到這了,更多相關(guān)ServiceStack.Redis和StackExchange.Redis區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis教程(六):Sorted-Sets數(shù)據(jù)類型
這篇文章主要介紹了Redis教程(六):Sorted-Sets數(shù)據(jù)類型,本文講解了Sorted-Sets數(shù)據(jù)類型概述、相關(guān)命令列表、命令使用示例、應(yīng)用范圍等內(nèi)容,需要的朋友可以參考下2015-04-04
redis的底層數(shù)據(jù)結(jié)構(gòu)詳解
Redis性能高得益于其優(yōu)化的數(shù)據(jù)結(jié)構(gòu),Redis的數(shù)據(jù)結(jié)構(gòu)分為對外暴露的和內(nèi)部底層的兩種,對外暴露的數(shù)據(jù)結(jié)構(gòu)包括String、list、hash、set、zset等,而內(nèi)部底層的數(shù)據(jù)結(jié)構(gòu)則包括SDS、hashtable、ziplist、linkedlist、quicklist、intset、skiplist等2025-02-02
Redis如何使用Pipeline實現(xiàn)批處理操作
Redis?Pipeline?是一種優(yōu)化?Redis?操作的機制,通過將多個命令打包發(fā)送到?Redis?服務(wù)器,減少客戶端與服務(wù)器之間的網(wǎng)絡(luò)往返時間,本文主要來聊聊Redis如何使用Pipeline實現(xiàn)批處理操作,需要的可以了解下2025-02-02
Redis未授權(quán)訪問配合SSH key文件利用詳解
這篇文章主要給大家介紹了關(guān)于Redis未授權(quán)訪問配合SSH key文件利用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-09-09
redis中Could not get a resource from
這篇文章主要介紹了redis中Could not get a resource from the pool異常及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
異步redis隊列實現(xiàn) 數(shù)據(jù)入庫的方法
今天小編就為大家分享一篇異步redis隊列實現(xiàn) 數(shù)據(jù)入庫的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
redis中使用bloomfilter的白名單功能解決緩存穿透問題
本文主要介紹了redis中使用bloomfilter的白名單功能解決緩存穿透問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07

