目前在网上关于TokyoCabinet(以下简称TC)和TokyoTyrant(以下简称TT)的资料已相对丰富了,但在.NET平台上的客户端软件却相对匮乏,因为做Discuz!NT企业版的关系,两个月前开始接触TC和TT,开始写相关的客户端代码。
这里开放的是客户端主要功能代码,开源的目的一方面是希望更多的人来学习研究TC和TT,同时大家可以下载本C#源码继续优化提升性能,同时查找BUG,必定本人精力能力有限,而Discuz!NT企业版的功能点又太多(抽空会多写文章进行介绍)实在有些力不从心了,呵呵:)
好了,为了便于使用,下面先对源码中的项目文件进行说明:
源码包中包括三个项目:
1.Discuz.EntLib.TokyoTyrant 核心功能代码(目前名空间暂以产品命名)
2.TTSample 主要用于加载测试数据,并对比SQLSERVER数据库的创建查询功能的速度。
3.TTSampleConsole 使用核心功能代码的例子(本文中会介绍其中主要功能)
其中Discuz.EntLib.TokyoTyrant中类图如下:
该客户端有如下特点:
- 支持TcpClient连接池
- 支持UTF-8编码
- 支持初始化链接数,链接过期时间,最大空闲时间,最长工作时间等设置
下面介绍一下如何使用:
1.初始化链接池:
pool = TcpClientIOPool.GetInstance("dnt_online");//链接池名称(即DNT在线表)
pool.SetServers(new string[] { "10.0.4.66:11211"});
pool.InitConnections = 8;
pool.MinConnections = 8;
pool.MaxConnections = 8;
pool.MaxIdle = 30000;
pool.MaxBusy = 50000;
pool.MaintenanceSleep = 300000;
pool.TcpClientTimeout = 3000;
pool.TcpClientConnectTimeout = 30000;
pool.Initialize();
pool.SetServers(new string[] { "10.0.4.66:11211"});
pool.InitConnections = 8;
pool.MinConnections = 8;
pool.MaxConnections = 8;
pool.MaxIdle = 30000;
pool.MaxBusy = 50000;
pool.MaintenanceSleep = 300000;
pool.TcpClientTimeout = 3000;
pool.TcpClientConnectTimeout = 30000;
pool.Initialize();