libmemcached C/C++ API使用实例


libmemcached C/C++ API使用实例:

  1. #include <stdio.h>    
  2.     #include <stdlib.h>    
  3.     #include <string.h>   
  4.     #include <time.h>   
  5.     #include <unistd.h>   
  6.     #include <libmemcached/memcached.h>    
  7.   
  8.     int main(int argc, char *argv[])   
  9.     {   
  10.       memcached_st *memc;   
  11.       memcached_return rc;   
  12.       memcached_server_st *servers;   
  13.   
  14.       //connect multi server    
  15.       memc = memcached_create(NULL);   
  16.   
  17.       servers = memcached_server_list_append(NULL, (char*)"localhost", 11211, &rc);   
  18.       servers = memcached_server_list_append(servers, (char*)"localhost", 30000, &rc);   
  19.   
  20.       rc = memcached_server_push(memc, servers);  
  21.       memcached_server_free(servers);    
  22.        
  23.       memcached_behavior_set(memc,MEMCACHED_BEHAVIOR_DISTRIBUTION,MEMCACHED_DISTRIBUTION_CONSISTENT);  
  24.       memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_RETRY_TIMEOUT, 20) ;  
  25.       //  memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS, 1) ;  // 同时设置MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT 和 MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS   
  26.       memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT, 5) ;  
  27.       memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS, 1) ;  
  28.   
  29.       int time_sl = 0 ;    
  30.       int times = 0 ;  
  31.       while(times++<100000)  
  32.       {  
  33.           //save data    
  34.           const char  *keys[]= {"key1""key2""key3","key4"};   
  35.           const  size_t key_length[]= {4, 4, 4, 4};   
  36.           char *values[] = {"This is 1 first value""This is 2 second value""This is 3 third value"," this is 4 forth value"};   
  37.           size_t val_length[]= {21, 22, 21, 22};  
  38.           int i = 0;  
  39.           for (; i < 4; i++)        
  40.           {  
  41.         rc = memcached_set(memc, keys[i], key_length[i], values[i], val_length[i], (time_t)180,(uint32_t)0);     printf("key: %s  rc:%s\n", keys[i], memcached_strerror(memc, rc));   // 输出状态         
  42.           }   
  43.         printf("time: %d\n", time_sl++) ;  
  44.         sleep(1) ;  
  45.             
  46.       }   
  47.          //free    
  48.           memcached_free(memc);   
  49.           return 0;   
  50.     }  

相关内容