1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
.TH "LIBMEMCACHED_EXAMPLES" "3" "May 22, 2012" "1.0.8" "libmemcached"
.SH NAME
libmemcached_examples \- libmemcached Documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.\" Man page generated from reStructeredText.
.
.sp
Examples for libmemcached
.SH DESCRIPTION
.sp
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 CONNECTING TO SERVERS
.sp
.nf
.ft C
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
In the above code you create a \fBmemcached_st\fP object with three server
by making use of \fBmemcached_create()\fP.
.SH CREATING A POOL OF SERVERS
.sp
.nf
.ft C
.ft P
.fi
.sp
Creating a pool of Servers:
.sp
.nf
.ft C
const char *config_string= "\-\-SERVER=host10.example.com \-\-SERVER=host11.example.com \-\-SERVER=host10.example.com";
memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string));
memcached_return_t rc;
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_pool_st\fP object with three
server by making use of \fBmemcached_pool()\fP.
.sp
When \fBmemcached_pool_destroy()\fP all memory will be released that is associated
with the pool.
.SH ADDING A VALUE TO THE SERVER
.sp
.nf
.ft C
.ft P
.fi
.sp
Adding a value to the Server:
.sp
.nf
.ft C
char *key= "foo";
char *value= "value";
memcached_return_t rc= memcached_set(memc, key, strlen(key), value, value_length, (time_t)0, (uint32_t)0);
if (rc != MEMCACHED_SUCCESS)
{
\&... // handle failure
}
.ft P
.fi
.sp
It is best practice to always look at the return value of any operation.
.SH FETCHING MULTIPLE VALUES
.sp
.nf
.ft C
memcached_return_t rc;
char *keys[]= {"fudge", "son", "food"};
size_t key_length[]= {5, 3, 4};
unsigned int x;
uint32_t flags;
char return_key[MEMCACHED_MAX_KEY];
size_t return_key_length;
char *return_value;
size_t return_value_length;
rc= memcached_mget(memc, keys, key_length, 3);
x= 0;
while ((return_value= memcached_fetch(memc, return_key, &return_key_length,
&return_value_length, &flags, &rc)))
{
free(return_value);
x++;
}
.ft P
.fi
.sp
Notice that you freed values returned from memcached_fetch(). The define
\fBMEMCACHED_MAX_KEY\fP is provided for usage.
.SH HOME
.sp
To find out more information please check:
\fI\%http://libmemcached.org/\fP
.SH SEE ALSO
.sp
\fImemcached(1)\fP
.SH AUTHOR
Brian Aker
.SH COPYRIGHT
2011, Brian Aker DataDifferential, http://datadifferential.com/
.\" Generated by docutils manpage writer.
.\"
.
|