Chinaunix首页 | 论坛 | 博客
  • 博客访问: 496829
  • 博文数量: 111
  • 博客积分: 3160
  • 博客等级: 中校
  • 技术积分: 1982
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-24 11:49
个人简介

低调、勤奋。

文章分类

全部博文(111)

文章存档

2014年(2)

2013年(26)

2012年(38)

2011年(18)

2010年(27)

分类: LINUX

2011-11-10 17:55:50

基于libmemcahced的memcahce应用。

memache的安装这里不作说明,只写使用方法。

有可能出现的问题,libmemcahce模块找不到。

解决方案:

2. (需要root权限)在/etc/ld.so.conf 文件中添加一句:

/usr/local/lib

然后运行ldconfig命令

c 程序:

#include
#include
#include
#include
#include
 
int main(int argc, char *argv[])
{
    if(argc!=3) {
        fprintf(stderr, "Usage: %s", argv[0]);
        exit(1);
    }
 
    memcached_st *memc;
    memcached_return_t rc;
    memcached_server_st *servers;
 
    memc = memcached_create(NULL);
    servers = memcached_server_list_append(NULL, argv[1], atoi(argv[2]),&rc);
    rc = memcached_server_push(memc, servers);
 
    char *key = "foobar";
    size_t lenval, rtv;
    uint32_t rtf;
    obj *testobj = (obj *)malloc(sizeof(obj));
    testobj->age = 10;
    testobj->id = 1234;
    lenval = sizeof(obj);
    
    char test[20] = "hellp,jordan";
    lenval = sizeof(test);
    rc = memcached_set(memc, key, strlen(key), (char *)test, lenval, (time_t)0, (uint32_t)0);
    if(rc == MEMCACHED_SUCCESS)
        fprintf(stdout, "save success!\n");
    else
        fprintf(stdout, "save failed!\n");
 
    free(testobj);

    /*
    if(rc == MEMCACHED_SUCCESS)
        fprintf(stdout, "save success!\n");
    else
        fprintf(stdout, "save failed!\n");
 
    free(testobj);
 
    //printf("after get!\n");
    if(rc != MEMCACHED_SUCCESS) {
        fprintf(stderr, "cannot find!\n");
        exit(2);
    }
 
    fprintf(stdout, "age=%d, id=%d, len=%d\n", testobj->age, testobj->id, rtv);
 
    */

    memcached_server_free(servers);
    memcached_free(memc);
}


php 访问代码:

  1. //连接Memcache  
  2. $mem = new Memcache;  
  3. $mem->addServer("localhost", 11211);  
  4. $mem->addServer("localhost", 11212);  
  5. //保存数据  
  6. $mem->set('key1''This is first value', 0, 60);  
  7. $val = $mem->get('key1');  
  8. echo "Get key1 value: " . $val ."
    "
    ;  
  9. //保存数组数据  
  10. $arr = array('aaa''bbb''ccc''ddd');  
  11. $mem->set('key2'$arr, 0, 60);  
  12. $val2 = $mem->get('key2');  
  13. echo "Get key2 value: ";  
  14. print_r($val2);  
  15. echo "
    "
    ;  
  16. //删除数据  
  17. $mem->delete('key1');  
  18. $val = $mem->get('key1');  
  19. echo "Get key1 value: " . $val . "
    "
    ;  
  20. //关闭连接  
  21. $mem->close();  
  22. ?> 

相关文档:


阅读(1133) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~