C ++ v1.3.0带有标签支持的还原店客户端SDK
#news #database #cpp #reductstore

我们很高兴宣布发布ReductStore Client SDK for C++ v1.3.0!此版本包括对带有标签和内容类型的还原店API v1.3.0的支持。

标签

由于还原器v1.3.0,您可以在编写和查询时将标签附加到数据。标签是键值对,可用于对数据进行分类和分类。例如,您可能会使用标签存储元数据大约记录,例如其MD5 Sum或Class。

auto [bucket, err] =  client->CreateBucket(kBucketName);

IBucket::Time ts = IBucket::Time() + std::chrono::microseconds(123109210);
std::string blob = "some blob of data";
bucket->Write("entry",
    IBucket::WriteOptions{
        .timestamp = ts,
        .labels = IBucket::LableMap({"label1", "value3"}),
    },
    [&blob](auto rec) { rec->WriteAll(blob); 
});

此标签可用于过滤查询的结果:

auto err = bucket->Query("entry", ts, ts + us(3), 
    IBucket::QueryOptions{.include = IBucket::LabelMap({"label1", "value1"})},
    [&all_data](auto record) {
        std::cout << record->ReadAll() << std::endl;
    }
);

内容类型

您现在可以指定您正在编写的数据的内容类型到还原商店数据库。例如,这可能很有用,例如,当您将文件写入数据库并希望将文件扩展名存储为内容类型或保留有关图像格式的信息时。

bucket->Write("entry", I
    Bucket::WriteOptions{
        .content_type = "image/png",
    },
    [&blob](auto rec) { rec->WriteAll(image_as_blob); }
 );

ReductStore documentation中阅读有关标签和内容类型的更多信息。

希望您发现此版本有用。如果您有任何疑问或反馈,请随时在Discord或通过就Abiaoqian进行讨论。

感谢您使用ReductStore