#include <iostream>
#include <string>
#include <libmemcached/memcached.h>
using namespace std;
int main(int argc,char *argv[])
{
         //connect server
         memcached_st *memc;
         memcached_return rc;
         memcached_server_list_st servers = NULL;
         time_t expiration = ;
         uint32_t flags = ;
         const char *config_string= "--SERVER=10.10.10.11:12000--SERVER=10.10.10.10:12000--BINARY-PROTOCOL";
         memc= memcached(config_string, strlen(config_string));

         string key = "memory";
         string value = "some thing";
         cout << "value: " << value << endl;
         size_t value_length = value.length();
         size_t key_length = key.length();
         cout << value_length << endl;
         //Save data
         rc = memcached_set(memc, key.c_str(), key.length(), value.c_str(), value.length(), expiration, flags);
         if(rc == MEMCACHED_SUCCESS)
         {
                   cout<<"Save data: "<<value<<" successful!"<<endl;
         }
         else
         {
                 cout << "set error" << rc << endl;
         }
        //Get data
        char* result = memcached_get(memc, key.c_str(), key_length, &value_length, &flags, &rc);
        if(rc == MEMCACHED_SUCCESS)
        {
                   cout<<"Get value: "<<result<<" by key "<<key<<"\" successful!"<< endl;
        }
        else
        {
            cout << "get error" << rc << endl;
        }
      //free
      memcached_free(memc);
      ;
}

今天要把memcache的接口从php调用换成c++直接调用。研究了一天,主要参考这个博客

http://www.jsjtt.com/xitongyingyong/linux/58.html

但是,在连接那里,和我的情况不同,我是一个连接池,该博文中的对localhost 还管用,对现实的应用就不行了,于是硬着头皮看官方文档,http://docs.libmemcached.org/index.html,最后在快放弃的时候居然可以set数据了。大惊。在此分享。我主要是卡在

--BINARY-PROTOCOL 这个选项上了,没有它就是连不上。。。

话说回来,英文文档也不是毒蛇猛兽,只要认真看,解决问题也比在网上乱搜快多了。

linux 安装memcached C/C++使用libmemcached库(续)的更多相关文章

  1. linux安装及配置c++的opencv库

    linux安装及配置c++的opencv库 前言: 最近想搞个机器视觉的比赛,要求是linux+opencv环境,没有做过opencv开发的我配置环境就配了两天,看来很多乱七八糟的博客,终于装好了.网 ...

  2. linux安装memcached

    一:为什么要使用memcached 瓶颈:互联网发展,特别在web2.0兴起之后,传统数据库开始出现瓶颈 1:对数据库的高并发读写 2:对海量数据库的处理(海量数据查找)memcache 是高性能的分 ...

  3. Linux安装Memcached服务

    环境: CentOS 6.4 libevent-1.4.14b-stable memcached-1.4.21 查看是否安装libevent[root@localhost ~]# rpm -qa |g ...

  4. linux 安装 memcached

    1.Linux系统安装memcached,首先要先安装libevent库. yum install libevent libevent-deve 2.安装memcached yum install - ...

  5. linux安装memcached及memcache扩展

    一.安装libevent函数库 下载地址:http://libevent.org 默认被安装到:/usr/local/lib目录下 安装memcached之前需要先安装libevent函数库. 可以通 ...

  6. linux安装memcached和php的memcache扩展 (已使用)

    所需软件libevent-1.4.6-stable.tar.gz (http://monkey.org/~provos/libevent/)memcache-2.2.3.tgz (http://pec ...

  7. Mac linux 安装memcached服务 用法

    今天在Mac上安装memcached服务的时候 由于安装memcached之前需要安装libevent依赖包 所以使用brew install libevent 安装过程中报错 Warning: Yo ...

  8. linux 安装memcached

    1.下载文件wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gzwget http://www.memcached.org/ ...

  9. linux安装memcached安装以及memcache的php扩展

    https://blog.csdn.net/sshcnwold/article/details/79085082

随机推荐

  1. Omi v1.0震撼发布 - 令人窒息的Web组件化框架

    原文链接--https://github.com/AlloyTeam/omi 写在前面 Omi框架经过几十个版本的迭代,越来越简便易用和强大. 经过周末的连续通宵加班加点,Omi v1.0版本终于问世 ...

  2. Spring Data JPA 实例查询

    一.相关接口方法     在继承JpaRepository接口后,自动拥有了按"实例"进行查询的诸多方法.这些方法主要在两个接口中定义,一是QueryByExampleExecut ...

  3. (16)IO流之输入字节流FileInputStream和输出字节流FielOutputStream

    IO流技术解决的问题:设备与设备之间的传输问题,内存-->硬盘,硬盘-->内存,等等 IO流技术 如果按照数据的流向划分可以划分为:输入流和输出流 输入输出的标准是以程序为参考物的,如果流 ...

  4. yii2.0使用之缓存

    1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...

  5. CSS学习笔记汇总

    CSS语法格式:一个css规则,由一个选择器和一个格式声明语句构成    例如:h1{color:red; font-size:14px;} CSS选择器: 1.基本选择器 1)* 号选择器:通配符, ...

  6. Unity 3D Framework Designing(3)——构建View和ViewModel的生命周期

    > 对于一个View而言,本质上是一个MonoBehaviour.它本身就具备生命周期这个概念,比如,Awake,Start,Update,OnDestory等.这些是非常好的方法,可以让开发者 ...

  7. Web前端面试指导(十四):如何居中一个元素(正常、绝对定位、浮动元素)?

    题目点评 这道题目的提问比较多,连续问了三个问题,正常元素.绝对定位元素.互动元素如何居中,而且居中没有说清楚是垂直居中还是水平居中,要回答清楚这个问题,必须得有深厚的功底,而且要分类的来回答,条理要 ...

  8. 自动化利器-RPM自定义打包

    1.Rpm打包程序 1.1为什么要使用rpm打包 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安 ...

  9. selenium自动化过程中如何操作Flash动画

    最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...

  10. php 1到100累加 新方法

    <?php $sum = 0; for($i=0;$i<=100;$i++){ $sum += $i; } echo $sum; 之前只是这么写. 现在发现可以这么写 $sum = arr ...