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