来自 美高梅4858官方网站 2019-12-11 05:36 的文章
当前位置: 美高梅4858官方网站 > 美高梅4858官方网站 > 正文

扩展方法与简单实例,libmemcached安装及简单例子

libmemcaced我用的0.53,那php-memcahed 就选择2.0.0. 开源软件的版本维护是一团烂帐

libmemcached安装及简单例子

1、下载安装libmemcached 
 $ wget
 $ tar xvzf libmemcached-0.44tar.gz 
 $ cd libmemcached-0.44
 $ ./configure
 $ make
 $ sudo make install
 libmemcached 默认安装在/usr/local/,头文件安装在/usr/local/include/libmemcachde/,动态库默认安装在/usr/local/lib/下。
2、libmemcached简单测试使用

 1 #include <iostream>
 2 #include <string>
 3 #include <libmemcached/memcached.h>
 4 
 5 using namespace std;
 6 
 7 int main(int argc,char *argv[])
 8 {
 9     //connect server
10     memcached_st *memc;
11     memcached_return rc;
12     memcached_server_st *server;
13     time_t expiration;
14     uint32_t  flags;
15 
16     memc = memcached_create(NULL);
17     server = memcached_server_list_append(NULL,"localhost",11211,&rc);
18     rc=memcached_server_push(memc,server);
19     memcached_server_list_free(server);
20 
21     string key = "key";
22     string value = "value";
23     size_t value_length = value.length();
24     size_t key_length = key.length();
25 
26 
27     //Save data
28     rc=memcached_set(memc,key.c_str(),key.length(),value.c_str(),value.length(),expiration,flags);
29     if(rc==MEMCACHED_SUCCESS)
30     {
31         cout<<"Save data:"<<value<<" sucessful!"<<endl;
32     }
33 
34     //Get data
35     char* result = memcached_get(memc,key.c_str(),key_length,&value_length,&flags,&rc);
36     if(rc == MEMCACHED_SUCCESS)
37     {
38         cout<<"Get value:"<<result<<" sucessful!"<<endl;
39     }
40 
41     //Delete data
42     rc=memcached_delete(memc,key.c_str(),key_length,expiration);
43     if(rc==MEMCACHED_SUCCESS)
44     {
45         cout<<"Delete key:"<<key<<" sucessful!"<<endl;
46     }
47 
48     //free
49     memcached_free(memc);
50     return 0;
51 }
52 
53 

编译:g++ -o testmemcached testmemcached.cpp -lmemcached
运行:./testmemcached
结果:Save data:value sucessful!
      Get value:value sucessful!
      Delete key:key sucessful!

注意事项

与面我们己安装好了来看看简单的实例

 代码如下

•hash一致性存储
•multi get/set
•自动把key hash 为int,避开了memcache key字符串默认小于255Byte的限制
好久没有配置服务器,一直以为libmemcached的php memcached 已经纳入基本安装包了,到头来还需要自己编译.整个安装过程很多暗坑,尝试了几次才成功

    wget https://launchpad.net/libmemcached/1.0/0.53/+download/libmemcached-0.53.tar.gz
    tar xvfz libmemcached-0.53.tar.gz
    cd libmemcached-0.53
    ./configure --prefix=/opt/libmemcached
    make && make install

    wget
    tar zvxf memcached-2.0.0.tgz
    cd memcached-2.0.0/
    ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/opt/libmemcached/
    make && make install

安装分两步

最后一步,修改php.ini,加上 extension=memcached.so

 代码如下

极品总是成对出现,php的memcahed也从2.1.0开始,要求libmemcached 必须是1.0.x版本

本文由美高梅4858官方网站发布于美高梅4858官方网站,转载请注明出处:扩展方法与简单实例,libmemcached安装及简单例子

关键词: