STSdb,最强纯C#开源NoSQL和虚拟文件系统 4.0 RC2 支持C/S架构
2013-06-24 19:03 灵感之源 阅读(5327) 评论(28) 编辑 收藏 举报STSdb是什么
再来说明一下STSdb是什么:STSdb是C#写的开源嵌入式数据库和虚拟文件系统,支持实时索引,性能是同类产品的几倍到几十倍,访问官方网站。
温故知新
之前发了文章《STSdb,最强纯C#开源NoSQL和虚拟文件系统》,相信大家对Waterfall-tree(瀑布树)算法还是有兴趣的。
不兼容改动
为了提供更易容的API和更好的性能,STSdb 4.0 RC2改变了文件格式,这个改变可能会持续,直到4.0正式版。
C/S架构
在上一篇文章,提及会在4.0正式版之前加入对C/S的支持,现在在RC2已经引入。
客户端
//客户端,创建一个连接: using (IStorageEngine engine = STSdb.FromNetwork(host, port)) { } |
服务器端
//服务器端,启动一个服务器实例 using (IStorageEngine engine = STSdb.FromFile( "stsdb4.sys" , "stsdb4.dat" )) { var server = STSdb.CreateServer(engine, port); server.Start(); //服务器端已经启动,可以接受客户端请求 server.Stop(); } |
DataType类型
DataType类型用于描述非泛型的IIndex和IData数据类型
//以前的做法 XIndex<IData, IData> table = engine.OpenXIndex( typeof (Data< int >), typeof (Data< string >), "table" ); //新做法 IIndex<IData, IData> table = engine.OpenXIndex(DataType.Int32, DataType.String, "table" ); |
//以前的做法 XIndex<IData, IData> table = engine.OpenXIndex( typeof (Data< long >), typeof (Data< string , DateTime, double , double , long , string >), "table" ); //新做法 DataType keyType = DataType.Int64; DataType recordType = DataType.Slotes( DataType.String, DataType.DateTime, DataType.Double, DataType.Double, DataType.Int64, DataType.String ); IIndex<IData, IData> table = engine.OpenXIndex(keyType, recordType, "table" ); |
公有字段
IIndex现在支持公有字段的读写
List<T>, T[]和Dictionary
在4.0 RC2仍然不支持,但会在4.0 Final支持
下载
点击这里下载源代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探