我不為大家貼**了,沒有意思,有點多,我主要給大家介紹一下,原始碼會上傳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客戶端
再次公升級
1.新增redis客戶端操作
2.udp分報組包重發
3.資料庫連線池重構
4.完善了整個框架流程
5.做成了乙個完整的結構,但是沒有完整測試,所有模組測試通過
6.新增lru本地快取,完成整個型別的儲存
7.udp通訊分報組包,,採用協資料重發,協議形式
至此,整個包括了sql資料庫(連線池任意配置),本地kv資料庫(berkeleydb),本地sql資料庫(sqlite),記憶體sql資料庫(sqlite),記憶體nosql資料庫(redis),記憶體kv儲存(lru快取)
C 封裝資料庫類
using system using system.collections.generic using system.text using system.data using system.configuration using system.web using system.web.securit...
mysql資料庫 C 封裝
為什麼要使用mysql資料庫?設想一下有乙個很大的 如10g 資料,我們不能將之存放在記憶體中,只能夠放在磁碟上,每一次cpu讀取資料都需要進行慢到 的磁碟io操作,那這時使用mysql這種關係型資料庫就顯得尤為重要的。記住mysql的資料也是存放在磁碟上面的,不過讀取速度更快!首先將mysql檔案...
資料庫訪問封裝
專案名稱 dbacess 專案目的 封裝jdbc訪問 專案使用 任意,保障所有包開源 專案當前功能 1.訪問資料庫方法封裝 2.資料庫連線池採用hikaricp 3.配置檔案遵守hikaricp的配置,設定根目錄,以此保障功能多資料庫,多源。4.擴充套件驅動路徑,採用自定義載入器載入驅動 5.新資料...