我不为大家贴代码了,没有意思,有点多,我主要给大家介绍一下,源码会上传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缓存)

转载于:https://www.cnblogs.com/jinyu20180311/p/10386299.html

c# 常用数据库封装相关推荐

  1. db2主键自增和oracle,oracle_浅析常用数据库的自增字段创建方法汇总,DB2复制代码 代码如下:CREATEnbsp - phpStudy...

    浅析常用数据库的自增字段创建方法汇总 DB2 CREATE   TABLE  T1 ( id  INTEGER   NOT   NULL  GENERATED ALWAYS  AS   IDENTIT ...

  2. 常用数据库的Jdbc连接代码

    常用数据库有:Oralcle,MySql,Postgresql,ODBC,SQL server 1. Oracle Class.forclass("oracle.jdbc.driver.Or ...

  3. 【腾讯面试题】MySQL常用数据库引擎

    MySQL常用数据库引擎 MyISAM存储引擎 InnoDB存储引擎 MEMORY存储引擎 存储引擎的选择 查看MySQL数据库使用的引擎 SHOW ENGINES; 查看数据库默认使用哪个引擎 SH ...

  4. 超大数据量存储常用数据库分表分库算法总结

    这篇文章主要介绍了超大数据量存储常用数据库分表分库算法总结,本文讲解了按自然时间来分表/分库.按数字类型hash分表/分库.按md5值来分表/分库三种方法,以及分表所带来的问题探讨,需要的朋友可以参考 ...

  5. destoon网站mysql分表_destoon : 常用数据库操作

    destoon在初始化系统后系统会自动连接数据库,并将数据库操作对象保存在$db. 对于数据库操作方法参考include/db_mysql.class.php函数原型,我来写几个常用数据库操作.1.读 ...

  6. c++ 常用字符串封装函数

    常用字符串封装方法 1 GetAppExePath 得到执行路径 2 str_2 转并且得到字符串 3 int_2 转得到整形 4 isNumber 是否时数字 5 format 字符串格式化 6 s ...

  7. 使用OLE DB方式连接常用数据库的连接字符串的设置

    使用OLE DB方式连接常用数据库的连接字符串的设置 SQL Server 使用 OLE DB 所设置的连接字符串: 标准连接方式 Provider=sqloledb;Data Source=data ...

  8. 达梦数据库查看某个表的字段类型、常用数据库驱动类名以及URL

    达梦数据库查看某个表的字段类型 select * from all_tab_columns where Table_Name='T_FILES' AND OWNER='WJW'; 注:Table_Na ...

  9. fwOA获取当前用户信息及常用数据库表

    一. 获取当前用户信息 User user = HrmUserVarify.getUser(request, response);//获取用户信息 int userId=user.getUID();/ ...

最新文章

  1. 树莓派c语言led,用树莓派实现RGB LED的颜色控制——C语言版本号
  2. spring MVC 工作原理
  3. 低情商大神的思维,高情商的你会懂么?为什么很多计算机老师都是坏脾气?为什么提问没人回答?为什么要通过网络自主学习?
  4. idea 快捷键代码行标记并快捷跳到标记行
  5. html序列符号替换,Html标签替换(过滤掉html特殊符号)
  6. code换取微信openid_JSamp;微信_微信授权
  7. python接口自动化(十五)--参数关联接口(详解)
  8. 向张小龙开炮!百度祭出智能小程序
  9. 华龙电音基调网_华龙电音基调查询器下载(最好用的电音基调查询器) v1.4免费版...
  10. java.lang.ClassCastException: com.sun.proxy.$Proxy7 cannot be cast to comms.service.message
  11. 入职两个月的总结和反思
  12. Redis生成自增流水号,每日清零
  13. python中常数e_常数python_python 常数_python 常数e - 云+社区 - 腾讯云
  14. 路由器购买指南,和网络不稳定、断网说拜拜
  15. 十位数连加 c语言,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....
  16. YY游戏云的AngularJS实践(转载)
  17. Excel提取18位/15位身份证出生日期②
  18. 如何设置关闭某些开机自启软件
  19. css开头自动缩进两个空格
  20. FTP暴力破解登陆漏洞复现(Windows Server 2003)

热门文章

  1. 每日一题(5) —— 逗号表达式
  2. python list存储方式_python list存储
  3. atm取款机的简单程序代码_LeNet:一个简单的卷积神经网络PyTorch实现
  4. 一、Java Web——JDBC快速入门(详解)
  5. LeetCode 1650. 二叉树的最近公共祖先 III(哈希)
  6. LeetCode MySQL 597. 好友申请 I :总体通过率
  7. LeetCode 525. 连续数组(前缀和+哈希)
  8. Redis常用数据类型的数据结构
  9. html5 职工入职后台管理系统_ChemCMS是一款基于GO+PHP+MYSQL+HTML5构建的化学内容管理系统
  10. android蓝牙通信_Flutter通过BasicMessageChannel实现Flutter 与Android iOS 的双向通信