「DBreeze」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
 
(同じ利用者による、間の1版が非表示)
9行目: 9行目:
 
* Selectで取得(KVSなので戻ってくるのは1行)
 
* Selectで取得(KVSなので戻ってくるのは1行)
 
* Commitでバッチ書き込み
 
* Commitでバッチ書き込み
 +
 +
== 使い方 ==
 +
<source>
 +
    using System;
 +
    using DBreeze;
 +
 +
    class MainClass
 +
    {
 +
        public static void Main(string[] args)
 +
        {
 +
            var engine = new DBreezeEngine("db");
 +
 +
            using (var transaction = engine.GetTransaction())
 +
            {
 +
                // KVSなのでval2で上書き
 +
                transaction.Insert("table", "key", "val1");
 +
                transaction.Insert("table", "key", "val2");
 +
 +
                // スコープ内であればcommit前のも取れる
 +
                var row = transaction.Select<string,string>("table","key");
 +
                Console.WriteLine(row.Value);
 +
 +
                // バッチ書き込み
 +
                transaction.Commit();
 +
            }
 +
        }
 +
    }
 +
</source>
  
 
== 外部リンク ==
 
== 外部リンク ==
 
* https://github.com/hhblaze/DBreeze
 
* https://github.com/hhblaze/DBreeze

2018年3月8日 (木) 03:03時点における最新版

DBreezeとは、C#で書かれたオンディスク型のKeyValueストレージである。 ストアではなくストレージ。

Xamarinでも.NET Coreでも使える。

KVSだが入出力メソッドの名称がSQL系っぽい名称なのが特徴。

  • GetTransactionでロック取得(スレッドセーフ対応)
  • Insertで保存(KVSなのでUpdateなどない。上書き)
  • Selectで取得(KVSなので戻ってくるのは1行)
  • Commitでバッチ書き込み

使い方[編集 | ソースを編集]

    using System;
    using DBreeze;

    class MainClass
    {
        public static void Main(string[] args)
        {
            var engine = new DBreezeEngine("db");

            using (var transaction = engine.GetTransaction())
            {
                // KVSなのでval2で上書き
                transaction.Insert("table", "key", "val1");
                transaction.Insert("table", "key", "val2");

                // スコープ内であればcommit前のも取れる
                var row = transaction.Select<string,string>("table","key");
                Console.WriteLine(row.Value);

                // バッチ書き込み
                transaction.Commit();
            }
        }
    }

外部リンク[編集 | ソースを編集]