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

中建国际建设有限公司网站广告联盟推广

中建国际建设有限公司网站,广告联盟推广,哈尔滨网站建设有哪些,苏州app推广团队背景 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.hkea.cn/news/496468/

相关文章:

  • 做网站较好的框架惠州百度推广排名
  • 网站建设和运营的课程推广软文发稿
  • 杭州企业网站建设方案ui培训
  • 个人站长做哪些网站好seo优化设计
  • 小白学做搭建网站软文街官方网站
  • 网站模板 可做采集站市场营销咨询
  • 家居网站建设素材天眼查询个人信息
  • 杭州专业网站排名优化交换链接的例子
  • 网站建设和数据容量整合seo的培训课程
  • 深圳 网站制作 哪家百度搜索排名优化哪家好
  • 网站运营者网址发稿平台
  • 内蒙古网站制作公司拼多多网店代运营要多少费用
  • 免费网站建设协议baike seotl
  • 做网站的好处和坏处怎么创建自己的网址
  • 兰州新区城乡建设局网站seo sem是什么职位
  • 衡水网站制作公司自媒体软文发布平台
  • 东莞圆心科技网站开发网页搜索
  • 日照网站建设价格百度推广怎么优化关键词的质量
  • 竭诚网络网站建设开发百度搜索竞价推广
  • 浙江住房和城乡建设厅报名网站下拉关键词排名
  • 银川哪里做网站百度网址名称是什么
  • 合肥公司网站建设价格低西安网络科技公司排名
  • 怎么样建设个人网站企业文化建设
  • 如何知道网站有没有备案成都seo公司
  • wordpress 艺术主题南京网络优化公司有哪些
  • 贵阳网站备案百度网站优化方案
  • 单位网站建设论文怎么做竞价托管
  • 建筑公司网站有哪些谈谈自己对市场营销的理解
  • 做ppt音乐怎么下载网站企业培训课程有哪些
  • magento网站建设网站优化排名软件网站