当前位置: 首页 > news >正文

企业网站定制设计公司电商视觉设计网站

企业网站定制设计公司,电商视觉设计网站,贵阳平台网站建设,手机网站对企业用户的好处背景 rocksdb的merge主要是为了解决读&写需要两步的操作。例如定义一个累加器&#xff0c;总得先把之前的值读出来才能加。 下面给两个例子&#xff0c;大家可以直接用。 AboutAddMerge #include <iostream> #include <rocksdb/db.h> #include <rocksdb…

背景

rocksdb的merge主要是为了解决读&写需要两步的操作。例如定义一个累加器,总得先把之前的值读出来才能加。

下面给两个例子,大家可以直接用。

AboutAddMerge

#include <iostream>
#include <rocksdb/db.h>
#include <rocksdb/table.h>
#include <rocksdb/options.h>#include <rocksdb/filter_policy.h>#include <rocksdb/iostats_context.h>
#include <rocksdb/trace_reader_writer.h>
#include "utilities/merge_operators.h"
#include "util/coding.h"using namespace rocksdb;using namespace std;
rocksdb::DB* db;
rocksdb::Options option;void OpenDB() {option.create_if_missing = true;option.compression = rocksdb::CompressionType::kNoCompression;option.merge_operator =MergeOperators::CreateUInt64AddOperator();auto s = rocksdb::DB::Open(option, "./db", &db);if (!s.ok()) {cout << "open faled :  " << s.ToString() << endl;exit(-1);}cout << "Finish open !"<< endl;
}void DoWrite() {int j = 0;string key = std::to_string(j);std::string value;char buf[8];rocksdb::Status s;EncodeFixed64(buf, 15);db->Merge(rocksdb::WriteOptions(),key, std::string(buf,8));EncodeFixed64(buf, 33);s = db->Merge(rocksdb::WriteOptions(),key, std::string(buf,8));EncodeFixed64(buf, 77);s = db->Merge(rocksdb::WriteOptions(),key, std::string(buf,8));if (!s.ok()) {cout << "Merge value failed: " << s.ToString() << endl;exit(-1);}cout << "Finish merge !" << endl;s = db->Get(rocksdb::ReadOptions(), key, &value);if (!s.ok()) {cout << "Get after only merge is failed " << s.ToString() << endl;exit(-1);}cout << "Get merge value " << value.size() << " " << DecodeFixed64(value.data()) << endl;
}int main() {OpenDB();DoWrite();return 0;
}

最终打印结果

Get merge value 8 155

AboutAppendMerge

#include <rocksdb/db.h>
#include <rocksdb/iostats_context.h>
#include <rocksdb/options.h>
#include <rocksdb/table.h>
#include <rocksdb/trace_reader_writer.h>#include <iostream>#include "utilities/merge_operators.h"
using namespace rocksdb;rocksdb::DB* db;void OpenDB() {rocksdb::Options option;option.create_if_missing = true;// 默认会用 逗号分隔 不同的mergeoption.merge_operator = MergeOperators::CreateStringAppendOperator();auto s = rocksdb::DB::Open(option, "./db", &db);if (!s.ok()) {std::cout << "open faled :  " << s.ToString() << std::endl;exit(-1);}std::cout << "Finish open !" << std::endl;
}void DoWrite() {std::string key = "mykey5";std::string value;rocksdb::WriteOptions writeOptions;db->Merge(writeOptions, key, "1");db->Merge(writeOptions, key, "3");db->Merge(writeOptions, key, "    ");db->Merge(writeOptions, key, "abc");rocksdb::Status s = db->Merge(writeOptions, key, "6");if (!s.ok()) {std::cout << "Merge value failed: " << s.ToString() << std::endl;exit(-1);}s = db->Get(rocksdb::ReadOptions(), key, &value);if (!s.ok()) {std::cout << "Get after only merge is failed " << s.ToString() << std::endl;exit(-1);}std::cout << "Get merge value " << key << " " << value << std::endl;
}int main() {OpenDB();DoWrite();return 0;
}

最后打印结果

Get merge value mykey5 1,3,    ,abc,6

CMakeList.TXT

add_executable(AboutAppendMerge app/AboutAppendMerge.cpp)
target_link_libraries(AboutAppendMerge ${ROCKSDB_SHARED_LIB})add_executable(AboutAddMerge app/AboutAddMerge.cpp)
target_link_libraries(AboutAddMerge ${ROCKSDB_SHARED_LIB})

参考资料

https://blog.csdn.net/Z_Stand/article/details/119703176

http://www.yayakq.cn/news/609439/

相关文章:

  • 网站排名下降的原因前端开发培训多少钱
  • 东莞网站设计制作公司设计封面
  • 找人建网站有哪些网站可以做电子邀请函
  • 订房网站开发代帮企业做网站
  • 东莞寮步镇网站巩义网站建设哪家专业
  • 广州市城市建设网站国外有哪些做服装的网站有哪些方面
  • 最简单的网站网站自建设需要买什么时候开始
  • 潍坊网站建设外包《电子商务网站开发与管理》书籍
  • 专业建设网站建站音乐网站设计外国
  • 怎么建设微网站网站标签设置
  • 北京建设工程联合验收网站设计精美的国外网站
  • 沈阳网站seo优化哪家好app推广是什么意思
  • cvm服务器做网站湛江网站的建设
  • 长沙手机模板建站网站开发类参考文献
  • wordpress the7.3企业网站优化兴田德润
  • 微信公众账号申请网站吗php网站开发答案
  • 专业做网站的公司保定公司网站运营维护单位
  • 青州市建设局网站开发一个网站做公司内部用
  • 汕头企业网站软件开发需要的软件
  • 购物网站 建站服务纯静态网站怎样
  • 长宁手机网站建设成都设计电商网站
  • 百度网站两两学一做心得体会免费 wordpress主题
  • 潍坊 网站免费软件下载平台
  • 网站建设及推广培训班简述建设iis网站的基本过程
  • 各大网站网址网站开发 合同范本
  • 还有人用asp做网站吗网站开发_运行及维护
  • 北京鑫旺路桥建设有限公司网站建设通属于什么网站
  • 上海建设官方网站视频拍摄剪辑岗位职责及要求
  • 网站的安全维护重庆网站建设找珊瑚云
  • 网站怎么被黑wordpress 缩略图作用