Redis中ServiceStack.Redis和StackExchange.Redis区别详解

 更新时间:2022年05月25日 15:30:47   作者:不会搬砖的程序猿  
本文主要介绍了Redis中ServiceStack.Redis和StackExchange.Redis区别详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

目前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
    	}

到此这篇关于Redis中ServiceStack.Redis和StackExchange.Redis区别详解的文章就介绍到这了,更多相关ServiceStack.Redis和StackExchange.Redis区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Redis教程(六):Sorted-Sets数据类型

    Redis教程(六):Sorted-Sets数据类型

    这篇文章主要介绍了Redis教程(六):Sorted-Sets数据类型,本文讲解了Sorted-Sets数据类型概述、相关命令列表、命令使用示例、应用范围等内容,需要的朋友可以参考下
    2015-04-04
  • redis的底层数据结构详解

    redis的底层数据结构详解

    Redis性能高得益于其优化的数据结构,Redis的数据结构分为对外暴露的和内部底层的两种,对外暴露的数据结构包括String、list、hash、set、zset等,而内部底层的数据结构则包括SDS、hashtable、ziplist、linkedlist、quicklist、intset、skiplist等
    2025-02-02
  • Redis如何使用Pipeline实现批处理操作

    Redis如何使用Pipeline实现批处理操作

    Redis Pipeline 是一种优化 Redis 操作的机制,通过将多个命令打包发送到 Redis 服务器,减少客户端与服务器之间的网络往返时间,本文主要来聊聊Redis如何使用Pipeline实现批处理操作,需要的可以了解下
    2025-02-02
  • Linux快速部署Redis

    Linux快速部署Redis

    这篇文章介绍了Linux下快速部署Redis的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • Redis未授权访问配合SSH key文件利用详解

    Redis未授权访问配合SSH key文件利用详解

    这篇文章主要给大家介绍了关于Redis未授权访问配合SSH key文件利用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • redis中Could not get a resource from the pool异常及解决方案

    redis中Could not get a resource from

    这篇文章主要介绍了redis中Could not get a resource from the pool异常及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 异步redis队列实现 数据入库的方法

    异步redis队列实现 数据入库的方法

    今天小编就为大家分享一篇异步redis队列实现 数据入库的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Spring Boot 项目集成Redis的方式详解

    Spring Boot 项目集成Redis的方式详解

    这篇文章主要介绍了Spring Boot 项目集成Redis的方式,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧,需要的朋友可以参考下
    2021-08-08
  • redis中使用bloomfilter的白名单功能解决缓存穿透问题

    redis中使用bloomfilter的白名单功能解决缓存穿透问题

    本文主要介绍了redis中使用bloomfilter的白名单功能解决缓存穿透问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Windows下安装Redis服务的图文教程

    Windows下安装Redis服务的图文教程

    Redis是有名的NoSql数据库,一般Linux都会默认支持。但在Windows环境中,可能需要手动安装设置才能有效使用。下面通过本文给大家介绍Windows下安装Redis服务的图文教程,感兴趣的朋友一起看看吧
    2018-08-08

最新评论