c stsdb 读取 mysql_STSdb

2022-04-14 00:00:00 专区 客户端 支持 服务器端 会在

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 table = engine.OpenXIndex(typeof(Data), typeof(Data), "table");

//新做法

IIndex table = engine.OpenXIndex(DataType.Int32, DataType.String, "table");

//以前的做法

XIndex table = engine.OpenXIndex(typeof(Data), typeof(Data), "table");

//新做法

DataType keyType = DataType.Int64;

DataType recordType = DataType.Slotes(

DataType.String,

DataType.DateTime,

DataType.Double,

DataType.Double,

DataType.Int64,

DataType.String

);

IIndex table = engine.OpenXIndex(keyType, recordType, "table");

公有字段

IIndex现在支持公有字段的读写

List, T[]和Dictionary

在4.0 RC2仍然不支持,但会在4.0 Final支持

相关文章