2009-12-22 16 views
2

我寻找一些样品C代码用于使用内存缓存设置值示例代码分布式缓存用C

  1. 连接到服务器/端口
  2. 使用多个memcache_set
  3. 关闭

我有5个代码行在PHP中运行的应用程序,但无法找到任何我需要移植到C的好memcache示例。

+0

这听起来像功课...如果你想要一个答案认真,你应该张贴PHP应用程序。 – 2009-12-22 16:39:38

+0

谈论一个微不足道的问题:/。如果你可以编程C,你应该有足够的能力来阅读C. Memcached是一个超级简单的程序。 – 2009-12-22 16:41:46

回答

1

首先你必须pick a client,那么你必须编写代码到该客户端的API。

+0

链接已死,你能更新吗? – Wajahat 2016-07-12 20:43:46

2

这个问题确实是老了,但我发现this linkthis one ..他们开始学习如何在C.编写一个基于内存缓存的应用程序

1

This在C大memcached的样品有用

#include <libmemcached/memcached.h> 
#include <stdio.h> 
#include <string.h> 

int main(int argc, char **argv) { 
    //memcached_servers_parse (char *server_strings); 
    memcached_server_st *servers = NULL; 
    memcached_st *memc; 
    memcached_return rc; 
    char *key = "keystring"; 
    char *value = "keyvalue"; 

    char *retrieved_value; 
    size_t value_length; 
    uint32_t flags; 

    memc = memcached_create(NULL); 
    servers = memcached_server_list_append(servers, "localhost", 11211, &rc); 
    rc = memcached_server_push(memc, servers); 

    if (rc == MEMCACHED_SUCCESS) 
    fprintf(stderr, "Added server successfully\n"); 
    else 
    fprintf(stderr, "Couldn't add server: %s\n", memcached_strerror(memc, rc)); 

    rc = memcached_set(memc, key, strlen(key), value, strlen(value), (time_t)0, (uint32_t)0); 

    if (rc == MEMCACHED_SUCCESS) 
    fprintf(stderr, "Key stored successfully\n"); 
    else 
    fprintf(stderr, "Couldn't store key: %s\n", memcached_strerror(memc, rc)); 

    retrieved_value = memcached_get(memc, key, strlen(key), &value_length, &flags, &rc); 
    printf("Yay!\n"); 

    if (rc == MEMCACHED_SUCCESS) { 
    fprintf(stderr, "Key retrieved successfully\n"); 
    printf("The key '%s' returned value '%s'.\n", key, retrieved_value); 
    free(retrieved_value); 
    } 
    else 
    fprintf(stderr, "Couldn't retrieve key: %s\n", memcached_strerror(memc, rc)); 

    return 0; 
}