X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fman%2Flibmemcached_examples.3;h=61998af8c5c4a57f9fa3d560e5937e21c107adc6;hb=c3723b53b87471782076765f0fff656d07de74e0;hp=4dbb99d7e17bde9f1d2badae29dd7ce93c4c9f49;hpb=ef301192f389f5f6ab4f8ed8c204ca7e115fe0b1;p=m6w6%2Flibmemcached diff --git a/docs/man/libmemcached_examples.3 b/docs/man/libmemcached_examples.3 index 4dbb99d7..61998af8 100644 --- a/docs/man/libmemcached_examples.3 +++ b/docs/man/libmemcached_examples.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED_EXAMPLES" "3" "April 08, 2011" "0.47" "libmemcached" +.TH "LIBMEMCACHED_EXAMPLES" "3" "June 10, 2011" "0.47" "libmemcached" .SH NAME libmemcached_examples \- libmemcached Documentation . @@ -37,73 +37,64 @@ Examples for libmemcached For full examples, test cases are found in tests/*.c in the main distribution. These are always up to date, and are used for each test run of the library. -.SH CREATING AND FREEING STRUCTURE +.SH CONNECTING TO SERVERS .sp .nf .ft C -memcached_st *memc; -memcached_return_t rc; - -memc= memcached_create(NULL); -\&...do stuff... +const char *config_string= "\-\-SERVER=host10.example.com \-\-SERVER=host11.example.com \-\-SERVER=host10.example.com" +memcached_st *memc= memcached(config_string, strlen(config_string); +{ + ... +} memcached_free(memc); .ft P .fi .sp -The above code would create a connection and then free the connection when -finished. -.SH CONNECTING TO SERVERS +In the above code you create a \fBmemcached_st\fP object with three server by making use of \fImemcached_create_with_options(3)\fP. +.SH CREATING A POOL OF SERVERS .sp .nf .ft C -memcached_server_st *servers; -memcached_st *memc= memcached_create(NULL); -char servername[]= "0.example.com"; +const char *config_string= "\-\-SERVER=host10.example.com \-\-SERVER=host11.example.com \-\-SERVER=host10.example.com"; -servers= memcached_server_list_append(NULL, servername, 400, &rc); +memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string)); -for (x= 0; x < 20; x++) -{ - char buffer[SMALL_STRING_LEN]; +memcached_return_t rc; - snprintf(buffer, SMALL_STRING_LEN, "%u.example.com", 400+x); - servers= memcached_server_list_append(servers, buffer, 401, &rc); -} -rc= memcached_server_push(memc, servers); -memcached_server_free(servers); -memcached_free(memc); +memcached_st *memc= memcached_pool_pop(pool, false, &rc); + +\&.... do work + +/* + Release the memc_ptr that was pulled from the pool +*/ +memcached_pool_push(pool, memc); + +/* + Destroy the pool. +*/ +memcached_pool_destroy(pool); .ft P .fi .sp -In the above code you create a \fBmemcached_st\fP object that you then feed in a -single host into. In the for loop you build a \fBmemcached_server_st\fPpointer that you then later feed via memcached_server_push() into the -\fBmemcached_st\fP structure. +In the above code you create a \fBmemcached_pool_st\fP object with three +server by making use of \fImemcached_pool(3)\fP. .sp -You can reuse the \fBmemcached_server_st\fP object with multile \fBmemcached_st\fPstructures. +When memcached_pool_destroy() all memory will be released that is associated +with the pool. .SH ADDING A VALUE TO THE SERVER .sp .nf .ft C char *key= "foo"; -char *value; -size_t value_length= 8191; -unsigned int x; +char *value= "value"; -value = (char*)malloc(value_length); -assert(value); +memcached_return_t rc= memcached_set(memc, key, strlen(key), value, value_length, (time_t)0, (uint32_t)0); -for (x= 0; x < value_length; x++) -value[x] = (char) (x % 127); - -for (x= 0; x < 1; x++) +if (rc != MEMCACHED_SUCCESS) { - rc= memcached_set(memc, key, strlen(key), - value, value_length, - (time_t)0, (uint32_t)0); - assert(rc == MEMCACHED_SUCCESS); +\&... // handle failure } - -free(value); .ft P .fi .sp @@ -140,7 +131,7 @@ Notice that you freed values returned from memcached_fetch(). The define .SH HOME .sp To find out more information please check: -\fI\%https://launchpad.net/libmemcached\fP +\fI\%http://libmemcached.org/\fP .SH SEE ALSO .sp \fImemcached(1)\fP