1. 程式人生 > >STSdb,最強純C#開源NoSQL和虛擬檔案系統 4.0 RC2 支援C/S架構

STSdb,最強純C#開源NoSQL和虛擬檔案系統 4.0 RC2 支援C/S架構

STSdb是什麼

再來說明一下STSdb是什麼:STSdb是C#寫的開源嵌入式資料庫和虛擬檔案系統,支援實時索引,效能是同類產品的幾倍到幾十倍,訪問官方網站

溫故知新

之前發了文章《STSdb,最強純C#開源NoSQL和虛擬檔案系統》,相信大家對Waterfall-tree(瀑布樹)演算法還是有興趣的。

不相容改動

 為了提供更易容的API和更好的效能,STSdb 4.0 RC2改變了檔案格式,這個改變可能會持續,直到4.0正式版。

C/S架構

在上一篇文章,提及會在4.0正式版之前加入對C/S的支援,現在在RC2已經引入。

客戶端

//客戶端,建立一個連線:
using (IStorageEngine engine = STSdb.FromNetwork(host, port))
{
}

伺服器端

//伺服器端,啟動一個伺服器例項
using (IStorageEngine engine = STSdb.FromFile("stsdb4.sys", "stsdb4.dat"))
{
    var server = STSdb.CreateServer(engine, port);
    server.Start();
    //伺服器端已經啟動,可以接受客戶端請求
    server.Stop();
}

DataType型別

DataType型別用於描述非泛型的IIndex和IData資料型別

//以前的做法
XIndex<IData, IData> table = engine.OpenXIndex(typeof(Data<int>), typeof(Data<string>), "table");
//新做法
IIndex<IData, IData> table = engine.OpenXIndex(DataType.Int32, DataType.String, "table");
//以前的做法
XIndex<IData, IData> table = engine.OpenXIndex(typeof(Data<long>), typeof(Data<string, DateTime, double, double, long, string>), "table");
//新做法
DataType keyType = DataType.Int64;
DataType recordType = DataType.Slotes(
    DataType.String,
    DataType.DateTime,
    DataType.Double,
    DataType.Double,
    DataType.Int64,
    DataType.String
);
IIndex<IData, IData> table = engine.OpenXIndex(keyType, recordType, "table");

公有欄位

IIndex現在支援公有欄位的讀寫

List<T>, T[]和Dictionary

在4.0 RC2仍然不支援,但會在4.0 Final支援

下載

點選這裡下載原始碼

相關推薦

STSdbC#開源NoSQL虛擬檔案系統 4.0 RC2 支援C/S架構

STSdb是什麼 再來說明一下STSdb是什麼:STSdb是C#寫的開源嵌入式資料庫和虛擬檔案系統,支援實時索引,效能是同類產品的幾倍到幾十倍,訪問官方網站。 溫故知新 之前發了文章《STSdb,最強純C#開源NoSQL和虛擬檔案系統》,相信大家對Waterfall-tree(瀑布樹)演算法還是有興

Emacs編輯器沒有之一

  小編知道,此標題一出,肯定會遭受廣大群眾“詬病”,說不好還會被其他編輯器的粉絲暗地裡“幹掉”。 比如,Vim,Sublime,Nano編輯器的粉絲可能就會來“踢館”,VS或Eclipse的粉絲也興許會“群起而攻”,但是小編只是表達一下自己的感受,為了效果也

關於mysql innodb 如何儲存大物件(BLOB等)解析

                       Externally Stored Fields in InnoDBThis article discusses the storage (inline and external) of field data in the Inn

React 走紅前端技能圖快速 Get!

2018 年 6 月 Hacker News 招聘趨勢已經發布,資料顯示,JavaScript

終於等到你 IDE Visual Studio 2017 正式版釋出(附詳細介紹與下載地址)

Visual Studio 2017 正式版釋出,該版本不僅添加了實時單元測試、實時架構依賴關係驗證等新特性,還對許多實用功能進行了改進,如程式碼導航、IntelliSense、重構、程式碼修復和除錯等等。無論使用哪種語言或平臺,都能節省開發者在日常任務上花費的時

值得關注的10個C開源專案全面的 C++ 資源、框架大全

開源世界有許多優秀的開源專案,我選取其中十個最優秀的、最輕量級的C語言的專案,希望可以為C語言開發人員提供參考。 1. Webbench Webbench是一個在linux下使用的非常簡單的網站壓測工具。它使用fork()模擬多個客

值得推薦的C/C++開源框架

跨語言 return .net npr 粘貼 python3.x xcod nasm pop 值得推薦的C/C++開源框架和庫 轉自:http://www.cnblogs.com/lidabo/p/5514155.html - 1. Webbench Webb

ACM訓練 身高排隊、導彈攔截 [長不下降子序列長不升子序列不升子序列的小覆蓋]

題目 題目分析 整體程式碼 相似問題 題目 題目描述 若干人排成一行,且身高分別為b1,b2,…,bn。準備從中選出一組滿足身高不降的人組成一隊。 例如13,7,9,16,3

maven專案的JDK版本的版本配置或者指定JDK版本實用的修改settings.xmlpom.xml修改方法可以解決eplise中的90%因為jdk相容的問題

公司近期匯入了一個專案,新專案剛剛匯入就有很多錯誤,這也是java專案的一個通病,根本的原因還是java的jvm虛擬機器的問題,還有各種依賴包的問題,有些問題很明顯,有些問題非常不明顯 下面我就把一些應為jdk版本引起的問題記錄下, 錯誤1:Dynamic We

史上Dubbo面試26題答案:核心元件+服務治理+架構設計等

開發十年,就只剩下這套架構體系了! >>>   

c#NPOI讀取excel 比interopMicrosoft.Jet.OLEDB.4.0 之類 的好的多

sage 整理 null workbook eric npoi EDA 構建 unknown 今天下午開始整理excel這塊, 微軟弄的那些庫簡直是個坑, 什麽com註冊之類的凈是些報錯. 在網上搜資料偶然碰見npoi ,好東西,值得使用 NPOI是指構建在POI 3.x版

C++之讀取寫入檔案

C++之讀取和寫入檔案 在C++中使用std::ifstream來讀取檔案, 使用std::ofstream來寫入檔案,比如txt, yaml等檔案。 讀取檔案 #include <string> #include <fstream> std::string file_name

Wine 4.0 RC2 釋出進入程式碼凍結階段僅修復 bug

   Wine 4.0 RC2 釋出了,因為目前已進入程式碼凍結階段,所以該版本只是修復了 bug。 4.0 RC2 修復的 bug(總共 11 個):   19184  File copying fails&nbs

C#會重蹈覆轍嗎?系列之4:華而不實的C#析構器

前段時間去鳥國出差,顛倒黑白,碌碌無為,疏於寫博,請大家理解。下面繼續前貼7月《C與C++社群混戰,C#會重蹈覆轍嗎?》的討論。這次要談的是C#的析構器的問題。這是C#中非常華而不實的一個設計,不必要,且常常誤導很多C#er,且是.NET效能問題的常見陷阱地帶。下面逐項討論: 1.C#析構器是一個醜陋的

c++實現的十分簡易檔案系統

課題作業任務:在記憶體中開闢一個100M的空間作為磁碟空間,在此上模擬建立一個檔案管理系統。 本系統已經實現的相關操作: 所有操作都不支援從根目錄索引,即都只能訪問當前目錄下的檔案,不能用/a/b越級訪問 1)目錄相關操作 列出目錄下所有檔案:ls 切換目錄:cd new

全面的I/O優化介紹 從檔案系統到磁碟管理

 1、系統學習 IO效能對於一個系統的影響是至關重要的。一個系統經過多項優化以後,瓶頸往往落在資料庫;而資料庫經過多種優化以後,瓶頸最終會落到IO。而IO效能的發展,明顯落後於CPU的發展。Memchached也好,NoSql也好,這些流行技術的背後都在直接或者間接地迴

RedHat gcc編譯器版本升級到4.8.2支援C++11標準

原來環境資訊 Red Hat Enterprise Linux Server release 6.4 (Santiago) gcc4.4.7 升級到gcc4.8.2 gcc4.8以上版本才支援C++11標準,網上很多都是裝的4.8系列的版本,

qemu 模擬-arm-mini2440開發板-啟動u-bootkernelnfs檔案系統

qemu 本文介紹瞭如何編譯u-boot、linux kernel,然後用qemu啟動u-boot和linux kernel,達到與開發板上一樣的學習效果! 雖然已經買了2440開發板,但是在實際學習開發過程中,還是覺得不方便,既然這樣,那就用qemu模擬2440開發板,

樹莓派啟動 :boot啟動ARM虛擬檔案系統

環境system:2015-09-24-raspbian-jessieRaspberryPi:Raspberry Pi 2樹莓派啟動的相關問題樹莓派啟動的相關問題,會從config.txt一直介紹到 Linux 如何啟動,啟動流程分析,自啟動指令碼實現。要想理解樹莓派系統的執

Ubuntu升級g++-4.8以支援C++11

也許你和我一樣在升級g++到4.8後發現用g++ a.cpp -o a還是提示編譯錯誤,那這篇文章給你答案。 轉自:http://my.oschina.net/zenglingfan/blog/169564 1. 安裝 gcc-4.8 為了使用C++ 11, 須安裝 gcc