c# 常用数据库封装
我不为大家贴代码了,没有意思,有点多,我主要给大家介绍一下,源码会上传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# 常用数据库封装相关推荐
- db2主键自增和oracle,oracle_浅析常用数据库的自增字段创建方法汇总,DB2复制代码 代码如下:CREATEnbsp - phpStudy...
浅析常用数据库的自增字段创建方法汇总 DB2 CREATE TABLE T1 ( id INTEGER NOT NULL GENERATED ALWAYS AS IDENTIT ...
- 常用数据库的Jdbc连接代码
常用数据库有:Oralcle,MySql,Postgresql,ODBC,SQL server 1. Oracle Class.forclass("oracle.jdbc.driver.Or ...
- 【腾讯面试题】MySQL常用数据库引擎
MySQL常用数据库引擎 MyISAM存储引擎 InnoDB存储引擎 MEMORY存储引擎 存储引擎的选择 查看MySQL数据库使用的引擎 SHOW ENGINES; 查看数据库默认使用哪个引擎 SH ...
- 超大数据量存储常用数据库分表分库算法总结
这篇文章主要介绍了超大数据量存储常用数据库分表分库算法总结,本文讲解了按自然时间来分表/分库.按数字类型hash分表/分库.按md5值来分表/分库三种方法,以及分表所带来的问题探讨,需要的朋友可以参考 ...
- destoon网站mysql分表_destoon : 常用数据库操作
destoon在初始化系统后系统会自动连接数据库,并将数据库操作对象保存在$db. 对于数据库操作方法参考include/db_mysql.class.php函数原型,我来写几个常用数据库操作.1.读 ...
- c++ 常用字符串封装函数
常用字符串封装方法 1 GetAppExePath 得到执行路径 2 str_2 转并且得到字符串 3 int_2 转得到整形 4 isNumber 是否时数字 5 format 字符串格式化 6 s ...
- 使用OLE DB方式连接常用数据库的连接字符串的设置
使用OLE DB方式连接常用数据库的连接字符串的设置 SQL Server 使用 OLE DB 所设置的连接字符串: 标准连接方式 Provider=sqloledb;Data Source=data ...
- 达梦数据库查看某个表的字段类型、常用数据库驱动类名以及URL
达梦数据库查看某个表的字段类型 select * from all_tab_columns where Table_Name='T_FILES' AND OWNER='WJW'; 注:Table_Na ...
- fwOA获取当前用户信息及常用数据库表
一. 获取当前用户信息 User user = HrmUserVarify.getUser(request, response);//获取用户信息 int userId=user.getUID();/ ...
最新文章
- 树莓派c语言led,用树莓派实现RGB LED的颜色控制——C语言版本号
- spring MVC 工作原理
- 低情商大神的思维,高情商的你会懂么?为什么很多计算机老师都是坏脾气?为什么提问没人回答?为什么要通过网络自主学习?
- idea 快捷键代码行标记并快捷跳到标记行
- html序列符号替换,Html标签替换(过滤掉html特殊符号)
- code换取微信openid_JSamp;微信_微信授权
- python接口自动化(十五)--参数关联接口(详解)
- 向张小龙开炮!百度祭出智能小程序
- 华龙电音基调网_华龙电音基调查询器下载(最好用的电音基调查询器) v1.4免费版...
- java.lang.ClassCastException: com.sun.proxy.$Proxy7 cannot be cast to comms.service.message
- 入职两个月的总结和反思
- Redis生成自增流水号,每日清零
- python中常数e_常数python_python 常数_python 常数e - 云+社区 - 腾讯云
- 路由器购买指南,和网络不稳定、断网说拜拜
- 十位数连加 c语言,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....
- YY游戏云的AngularJS实践(转载)
- Excel提取18位/15位身份证出生日期②
- 如何设置关闭某些开机自启软件
- css开头自动缩进两个空格
- FTP暴力破解登陆漏洞复现(Windows Server 2003)
热门文章
- 每日一题(5) —— 逗号表达式
- python list存储方式_python list存储
- atm取款机的简单程序代码_LeNet:一个简单的卷积神经网络PyTorch实现
- 一、Java Web——JDBC快速入门(详解)
- LeetCode 1650. 二叉树的最近公共祖先 III(哈希)
- LeetCode MySQL 597. 好友申请 I :总体通过率
- LeetCode 525. 连续数组(前缀和+哈希)
- Redis常用数据类型的数据结构
- html5 职工入职后台管理系统_ChemCMS是一款基于GO+PHP+MYSQL+HTML5构建的化学内容管理系统
- android蓝牙通信_Flutter通过BasicMessageChannel实现Flutter 与Android iOS 的双向通信