3 libmemcached_examples - Examples for libmemcached
7 For full example, example test cases found in tests/*.c in the main
8 distribution. These are always up to date, and are used for each test run of
11 =item Creating and Freeing structure
15 struct timeval start_time, end_time;
17 memc= memcached_create(NULL);
21 The above code would create a connection and then free the connection when
24 =item Connecting to servers
26 memcached_server_st *servers;
27 memcached_st *memc= memcached_create(NULL);
28 char servername[]= "0.example.com";
30 servers= memcached_server_list_append(NULL, servername, 400, &rc);
32 for (x= 0; x < 20; x++)
34 char buffer[SMALL_STRING_LEN];
36 snprintf(buffer, SMALL_STRING_LEN, "%u.example.com", 400+x);
37 servers= memcached_server_list_append(servers, buffer, 401,
40 rc= memcached_server_push(memc, servers);
41 memcached_server_free(servers);
44 In the above code we create a memc object that we then feed in a single
45 hosts into. In the for loop we build a memcached_server_st* that we then
46 later feed via memcached_server_push(3) into the memcached_st structure.
48 We can reuse the memcached_server_st() object with multile memcached_st
51 =item Adding a value to the server
55 size_t value_length= 8191;
58 value = (char*)malloc(value_length);
61 for (x= 0; x < value_length; x++)
62 value[x] = (char) (x % 127);
64 for (x= 0; x < 1; x++)
66 rc= memcached_set(memc, key, strlen(key),
68 (time_t)0, (uint16_t)0);
69 assert(rc == MEMCACHED_SUCCESS);
74 It is best practice to always look at the return value of any operation.
76 =item Fetching multiple values
79 char *keys[]= {"fudge", "son", "food"};
80 size_t key_length[]= {5, 3, 4};
84 char return_key[MEMCACHED_MAX_KEY];
85 size_t return_key_length;
87 size_t return_value_length;
89 rc= memcached_mget(memc, keys, key_length, 3);
92 while ((return_value= memcached_fetch(memc, return_key, &return_key_length,
93 &return_value_length, &flags, &rc)))
99 Notice that we freed values returned fromm memcached_fetch(3). The define
100 MEMCACHED_MAX_KEY is provided for usage.
104 To find out more information please check: http://tangent.org/552/libmemcached.html
108 Brian Aker, brian@tangent.org