2013年2月17日星期日

libmemcached使用(c 客户端连接 memcached) 2011-07-14 15:07:13



libmemcached 下载地址。https://launchpad.net/libmemcached/


//g++ -o testmemcached testmemcached.cpp -lmemcached


#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;
   time_t expiration;
   uint32_t flags;

   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(),expiration,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;
}



在下载客户端 libmemcached-0.50/tests 下有测试列子,也可参考。比如cpp_example.cc

没有评论:

发表评论