libmemcached安装

本文介绍了libmemcached的下载与安装过程,包括解决gcc版本问题,并提供了一个简单的memcached操作示例,包括保存、获取和删除数据。注意libmemcached库需要gcc 4.2或更高版本进行编译,安装后的头文件和动态库路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载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/下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值