「DBreeze」の版間の差分
ナビゲーションに移動
検索に移動
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ストレージである。 ストアではなくストレージ。
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();
}
}
}