#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. 基于cxf开发restful风格的Web Service

    一.写在前面 webservice一些简单的其他用法和概念,就不在这里赘述了,相信大家都可以在网上查到,我也是一个新手,写这篇文章的目的一方面是想记录自己成长的历程,另一方面是因为学习这个的时候花了点 ...

  2. resin远程调试配置,connection refused问题解决

    http://john521.iteye.com/blog/1879805 这篇博客中讲的很好. 我在配置的过程中遇到了几个问题,记录一下: 1. 调试服务器监听的端口号,百度的开发机都限制了端口在某 ...

  3. 谈谈数据库中MyISAM与InnoDB区别 针对业务类型选择合适的表

    MyISAM:这个是默认类型,它是基于传统的ISAM类型, ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法. ...

  4. rgba兼容性处理

    根据caniuse(http://caniuse.com/#search=rgba),rgba兼容性为IE9以及以上浏览器. 实例代码: <!doctype html> <html ...

  5. windows和linux删除文件方法

    Windows下bat文件内容如下:复制代码 代码如下: @echo offforfiles -p "D:\servers\apache2.2\logs" -s -m *.log ...

  6. linux下处理excel里copy的某列的字符串,去除行末空格并添加特殊字段

    背景:从excel里copy出一列数据到txt,然后放到linux下处理,发现每一行末尾都是固定个数的空格,我想要在每行字符串末尾加固定字段并逗号隔开输出, 1.将特定字段取出,去掉每行末尾的不定个数 ...

  7. java中的基本jdbc中mvc基本示例

    数据库: 包文件: Student.java 1 package com.model; 2 3 public class Student { 4 private int id; 5 private S ...

  8. 【C语言】gets()和scanf()函数的区别

    scanf函数与gets函数 scanf函数和gets( )函数都可用于输入字符串,但在功能上有区别.若想从键盘上输入字符串"hi hello",则应该使用gets函数. gets ...

  9. SSH程序框架的整合(1)

    spring整合hibernate 有两种方式 1.注解方式 2.xml方式实现 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory ...

  10. 使用$.post和action或servlet交互 URL出现 http://localhost:8080/../[object%20Object] 错误的问题解决

    使用$.post时,如下所示: $.post({ url : "./test/ajaxTest", }); 控制台报:There is no Action mapped for n ...