- 授权协议: Apache
- 开发语言: C#
- 操作系统: 跨平台
- 软件首页: https://gitee.com/UDCS/WeavingDB
- 软件文档: https://gitee.com/UDCS/WeavingDB
软件介绍
WeavingDB
WeavingDB
为满足C#项目的特殊使用与简单部署,而开发此WeavingDB。
1.支持K-V方式。支持通配符方式匹配KEYS
2.支持JSON数据的条件查询的内存缓存库。(目前JSON库部分,创建,清空,插入,批量插入,查询,有条件删除,修改)。
3.可以设置最后一次访问时间的过期时效,例如:A数据,最后一次访问是1小时以前,设置过期为60分钟,此时A数据将被清理,如果A数据在60分钟内再次被访问则不清理。也可以设置永久不过期。
4.JSON库,需要先创建库,然后就可以插入数据了,数据库表的列为自动适应。第一次插入的数据即为默认列,以后插入的数据,可以增加字段,也可以减少字段(不需要重新建立表)。但是字段类型不能更改,如果原本的列名的类型改变,会引起类型错误。如果要改变原有字段类型,只能清空库后,从新建立库。
5.支持KV数据的持久化,超时或Remove后并不会彻底删除数据,而是从内存中删除,如果再次get,则从持久化的内容中读取。
暂不支持主从部署和TABLE数据持久化,当我想到一个高效模型,我会更新这两类内容。
6.数据通信部分使用WeavingSocket架构,通信部分架构地址:https://gitee.com/dreamsfly900/universal-Data-Communication-System-for-windows
K-V运行效率测试,万次读写1.8秒,配置SURFACEBOOK 一代 8G 128G
使用说明
K-V操作
DBClient dbc = new DBClient("127.0.0.1", 18989, "admin", "123123");
dbc.open();
dbc.Set("asdasd", "1");
int i = 0;
String str2 = dbc.Get("asdasd");string [] keys= dbc.GetKey("as?asd");//通配符?一个匹配字符
keys = dbc.GetKey("as*");//通配符* 表示,多个模糊匹配 dbc.close(); Hashtable ht = new Hashtable();
ht.Add("123123","afasdfasdf");
ht.Add("12312311", "afasdfasdf");
ht.Add("1231231221", "afasaasdfasdf");
ht.Add("123123122199", "afasaasdfasdf");
bool bb= dbc.SetAll<string>(ht);//批量Set
dbc.close();JSON库操作
dbc.open();
user u = new user();
bool bbc = dbc.inserttable("ddd", u);
dbc.Createtable("ddd");
bbc= dbc.inserttable("ddd", u);
//每次插入一组数据
Listlist = new List();
int i = 0;
while (i < 10000)
{
u = new user();
u.id = i;
list.Add(u);
i++;
}
DateTime dt = DateTime.Now;
bbc = dbc.inserttable("ddd", list.ToArray());
DateTime dt2 = DateTime.Now;
listBox1.Items.Add("万条数据插入" + (dt2-dt).TotalMilliseconds + "毫秒");
int count = 0;
dt = DateTime.Now;
var rrs = dbc.selecttable>("ddd","id<100",0,"",0,0,out count);
dt2 = DateTime.Now;
listBox1.Items.Add("数据SQL查询" + (dt2 - dt).TotalMilliseconds + "毫秒");
dbc.Removetable("ddd");
编写可读代码的艺术
Boswell, D.、Foucher, T. / 尹哲、郑秀雯 / 机械工业出版社 / 2012-7-10 / 59.00元
细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。 本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编......一起来看看 《编写可读代码的艺术》 这本书的介绍吧!
