一、下载libmemcached
下载地址:https://launchpad.net/libmemcached/+download,在页面中找到你想要的libmemcached相应版本安装包,最新是1.0.18 ,本文以1.0.18安装包为例。
英文文档:http://docs.libmemcached.org/memcached_behavior.html
二、安装
解压安装包 : tar -zxvf libmemcached-1.0.18.tar.gz
执行configure : ./configure(默认安装)
make :make && make install
注:如果gcc 版本太低会导致make不成功(错误信息如下:
./libmemcached-1.0/memcached.h:46:27: error: tr1/cinttypes: No such file or directory
make[1]: *** [libmemcached/csl/libmemcached_libmemcached_la-context.lo] Error 1
make[1]: Leaving directory `/packages/libmemcached-1.0.9′
make: *** [all] Error 2
),一般出现这种情况需要更新你的gcc(>=gcc 4.2.*)
三、简单操作memcached实例
#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_st *server;
uint32_t flags;
int invalidate_time = 300;
memc = memcached_create(NULL);
server = memcached_server_list_append(NULL,"localhost",11211,&rc);
rc=memcached_server_push(memc,server);
memcached_server_list_free(server);
string key = "key";
string value = "value";
size_t value_length = value.length();
size_t key_length = key.length();
//Save data
rc=memcached_set(memc,key.c_str(),key.length(),value.c_str(),value.length(),invalidate_time,flags);
if(rc==MEMCACHED_SUCCESS)
{
cout<<"Save data:"<<value<<" sucessful!"<<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<<" sucessful!"<<endl;
}
//Delete data
rc=memcached_delete(memc,key.c_str(),key_length,expiration);
if(rc==MEMCACHED_SUCCESS)
{
cout<<"Delete key:"<<key<<" sucessful!"<<endl;
}
//free
memcached_free(memc);
return 0;
}
编译:g++ -o testmemcached testmemcached.cpp -lmemcached
运行:./testmemcached
结果:Save data:value sucessful!
Get value:value sucessful!
Delete key:key sucessful!
注意事项:
1、libmemcached库是gcc 4.2版本编译的,所以必须用4.2或以上版本gcc;
2、libmemcached 默认安装在/usr/local/,头文件安装在/usr/local/include/libmemcachde/,动态库默认安装在/usr/local/lib/下。