我不为大家贴代码了,没有意思,有点多,我主要给大家介绍一下,源码会上传CSDN和GIT;我定义了一个ADO.NET操作接口,所有按照接口封装

1.sqlite数据库(需要SQLite.Interop.dll,采用.NetStandard2)

作为支持SQL的本地数据库和内存数据库使用。当然它是本地的,如果是大型数据库,请使用redis数据库。sqlite按照ADO.NET封装。基本用法和ADO.NET一致。

说说优化:

sqlite文件插入优化分为:1.扩展内存使用(增加cachesize,pagesize)2.使用事务 3.关闭同步 4采用wal模式 。

每一种都有各自产生的后果。值得注意的是wal模式会降低数据删除的性能。几种优化封装成了属性设置。

2.berkeleydb数据库(需要c++库和官方封装)

berkeleydb是比较优秀的K-V本地数据库,键值数据库,并且键和值的数据部分都是byte[],可以存储各类数据操作类已经封装了基本操作,这个不多说了,很简单

这里分了2层,一层封装原始的操作,key,value都传入byte[].再此之上一层泛型类,内部采用messagepack序列化,Key,value都是泛型。

3.postgresql 大型关系数据库

ADO.NET基本操作

4.通用的数据库操作

这里使用了我前一段时间的数据库连接池,根据配置,可以操作任何ADO.NET的数据库驱动,自己实现连接池。C#驱动的连接池真心不会用。

5.redis数据库操作客户端封装

这个不多说了,ServiceStack.Redis客户端

项目地址:(另外包含序列化,高效通信,自定义数据库连接池项目)

https://github.com/jinyuttt/DBQuerySharp.git

再次升级

1.新增redis客户端操作

2.UDP分报组包重发

3.数据库连接池重构

4.完善了整个框架流程

5.做成了一个完整的结构,但是没有完整测试,所有模块测试通过

6.新增LRU本地缓存,完成整个类型的存储

7.UDP通信分报组包,,采用协数据重发,协议形式

至此,整个包括了SQL数据库(连接池任意配置),本地KV数据库(berkeleydb),本地SQL数据库(Sqlite),内存SQL数据库(Sqlite),内存NOSQL数据库(redis),内存KV存储(LRU缓存)

最新文章

  1. Fuzz的那些事
  2. Dynamics AX 2012 R2 RemoteApp导出项目报错
  3. python 练习 22
  4. 简明python教程 --C++程序员的视角(九):函数式编程、特殊类方法、测试及其他
  5. Oracle 课程八之性能优化之10053事件
  6. 常用PHP缓存技术
  7. 洛谷 P3367 【模板】并查集
  8. JAVA之GUI编程窗体事件
  9. 信息技术手册可视化进度报告 基于jieba的关键字提取技术
  10. 指定的经纬度是否落在多边形内 java版
  11. 模拟页面获取的php数据(三)
  12. Codeforces 279C - Ladder - [简单DP]
  13. django之创建站点之基本流程
  14. NBUTOJ 1643 - 阶乘除法 - [数学题]
  15. ubuntu14.04禁止触摸板和恢复触摸板
  16. mongodb 错误 SCRAM-SHA-1 authentication failed for --转
  17. oracle数据同步
  18. org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session异常解决办法
  19. java 基础 --Collection(Set)
  20. 原来部署好的WCF(可以调用),因为部署.net core,而安装了DotNetCore.2.0.5-WindowsHosting,导致现在WCF站点不可以。

热门文章

  1. C#学习笔记9
  2. hdu 3642 覆盖3次以上体积
  3. C#简单实现读取txt文本文件并分页存储到数组
  4. java常用API之Calendar类
  5. JavaScirpt(JS)——DOM文档对象模型
  6. JavaScript数组常见操作
  7. 在C#中生成GUID的方法
  8. .Net常用的命名空间
  9. postman接口案例
  10. piranha配置