日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# 常用数据库封装

發布時間:2024/7/19 C# 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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# 常用数据库封装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。