开发者社区> 问答> 正文

mongodb的c++连接池封装

求一个mongodb的c++连接池封装案例

展开
收起
落地花开啦 2016-02-19 13:52:14 4327 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    基于mongodb的c++ drivers封装了libmongo(fedora 17,gcc 472,boost,mongo c++基础库)
    1、c++实现的通用接口,conn,get ,gets ,set,sets,remove等
    2、实现连接池,毕竟访问大的情况,mongodb堵死。
    3、实现了多线程安全
    测试通过。
    public:
    //默认构造函数,默认连接数为1
    cmongo();
    //传入连接数到构造函数,默认连接数为size
    cmongo(int size);
    //析构函数
    ~cmongo();
    public:
    //设置tcp读写超时时间
    `int set_wr_timeout(double t);
    int conn(string mhost="127.0.0.1",int mport=27017);`
    //设置db collection
    `int setdb(string mdb,string mcollection);
    int setindex(string key);
    int get(map& out,vector in,string key,string key_val);`
    //投递一批要查询的字段,fields为要查询哪些字段
    `int gets(map< string,map >& rout,vector fields,vector in,string key);
    int dumpkey(map< string,string >& rout,string key,string val);
    int dumpvals(map< string,map >& rout,vector in,string key);
    int set(map in,string key,string key_val);`
    //批量写入
    //更新接口,批量更新key="id"
    // "123456":,
    // "123457":,
    `int sets(map< string,map > in,string key);
    int remove(string key,string key_val);`

    2019-07-17 18:44:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
MongoDB多数据中心的方案选型之路 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载