2009-12-22 42 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; 
}