安装
Install-Package ZoneTree
简单示例
using var zoneTree = new ZoneTreeFactory<int, string>()
.OpenOrCreate();
zoneTree.Upsert(39, "Hello Zone Tree");
配置示例
// 设置数据库的存储路径
var dataPath = "data/mydatabase";
// 使用 using 语句确保 ZoneTree 对象在使用完毕后能够正确关闭
using var zoneTree = new ZoneTreeFactory<int, string>()
// 设置键的比较器
.SetComparer(new Int32ComparerAscending())
// 设置数据库文件的存储目录
.SetDataDirectory(dataPath)
// 设置键的序列化器
.SetKeySerializer(new Int32Serializer())
// 设置值的序列化器
.SetValueSerializer(new Utf8StringSerializer())
// 打开或创建数据库
.OpenOrCreate();
// 在数据库中插入或更新键值对,操作是原子的(线程安全的),但是只针对单个可变段
zoneTree.Upsert(39, "Hello Zone Tree!");
// 尝试在所有段上执行原子添加或更新操作
// 如果键存在,则使用提供的函数更新值
// 这里的函数将字符串 "a" 与 "b" 拼接
zoneTree.TryAtomicAddOrUpdate(39, "a",
bool (ref string x) =>
{
x += "b"; // 将 "b" 添加到现有的字符串变量 x 的末尾
return true; // 返回 true 以确认更新
});
标签:ZoneTree,数据库,键值,zoneTree,var,new,NET
From: https://www.cnblogs.com/wzwyc/p/18372879