網站首頁 編程語言 正文
目前Redis已經更新到了6.0.2,那目前StackExchange.Redis 和 ServiceStack.Redis 兩個客戶端有什么區別呢?
StackExchange.Redis 客戶端是開源免費,而ServiceStack.Redis目前我測試了4.0以上版本就有每個小時6000的限制。性能方面,對比測試,ServiceStack比StackExchange性能上高將近50%。
以上分別是5000條和10w條數據寫入讀入比對,我這是將ServiceStack解除了每小時6000條數據的限制,以下是測試代碼:
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
}
原文鏈接:https://blog.csdn.net/qq_32911691/article/details/124171133
相關推薦
- 2022-08-02 C#中的一些延時函數_C#教程
- 2022-01-26 iconv(): Detected an illegal character in input st
- 2022-09-28 k8s證書有效期時間修改的方法詳解_云其它
- 2022-08-30 關于Flask高級_WTForms介紹和基本使用
- 2022-05-08 python列表的構造方法list()_python
- 2022-03-24 聊一聊redis奇葩數據類型與集群知識_Redis
- 2022-10-24 C語言控制進程之進程等待詳解_C 語言
- 2022-12-09 Oracle遞歸查詢簡單示例_oracle
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支