C/C++语言关于Memcached的客户端比较推荐libmemcached库。
首先,下载libmemcached库,点击这里进行下载;再如下所示解压与安装libmemcached库,将libmemcached.so文件所在目录加入到系统变量LD_LIBRARY_PATH中。(不同操作系统的路径可能不一样,请自行查看自己的安装目录)
$ tar -xvf libmemcached-1.0.18.tar.gz $ cd libmemcached-1.0.18 $ ./configure $ sudo make $ sudo make install # 配置path $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH(替换成libmemcached.so文件所在目录)
这里是一个简单的示例,以编写mcDemo.cpp为例:
#include<iostream> #include <string.h> #include <libmemcached/memcached.h> using namespace std; int main(int argc, char *argv[]) { memcached_st *client = NULL; memcached_return cache_return; memcached_server_st *server = NULL; client = memcached_create(NULL); server = memcached_server_list_append(server, "10.11.8.76", 12007, &cache_return); cache_return = memcached_server_push(client, server); if(MEMCACHED_SUCCESS != cache_return){ cout<<"memcached server push failed! cache return:"<<cache_return<<endl; return -1; } string key = "test_key"; string val = "test_value"; size_t key_len = key.length(); size_t val_len = val.length(); int expiration = 0; uint32_t flags = 0; cache_return = memcached_set(client, key.c_str(), key_len, val.c_str(), val_len, expiration, flags); if(MEMCACHED_SUCCESS === cache_return){ cout<<"set success"<<endl; }else{ cout<<"set failed! cache return:"<<cache_return<<endl; } size_t value_length; char* getVal = memcached_get(client, key.c_str(), key_len, &value_length, &flags, &cache_return); if(MEMCACHED_SUCCESS === cache_return){ cout<<"get success, value = "<<getVal<<endl; }else{ cout<<"get failed! cache return:"<<cache_return<<endl; } return 0; }
然后如下进行编译:
$ g++ -g -Wall -std=c++0x mcDemo.cpp -lmemcached -lpthread -o memcached
运行程序:
$ ./memcached
若成功运行则如下输出:
set success get success, value = test_value