1 #include <libmemcached/memcached.h>
15 memcached_create(&memc);
18 Memcached(memcached_st *clone)
23 memcached_clone(&memc, clone);
28 memcached_free(&memc);
31 std::string fetch(const std::string& key, size_t *key_length, size_t *value_length)
37 char *value= memcached_fetch(&memc, const_cast<char *>(key.c_str()), key_length,
38 value_length, &flags, &rc);
41 ret_val.assign(value);
46 std::string get(const std::string& key, size_t *value_length)
52 char *value= memcached_get(&memc, key.c_str(), key.length(),
53 value_length, &flags, &rc);
56 ret_val.assign(value);
61 std::string get_by_key(const std::string& master_key,
62 const std::string& key,
69 char *value= memcached_get_by_key(&memc, master_key.c_str(), master_key.length(),
70 key.c_str(), key.length(),
71 value_length, &flags, &rc);
74 ret_val.assign(value);
79 bool mget(char **keys, size_t *key_length,
80 unsigned int number_of_keys)
83 memcached_return rc= memcached_mget(&memc, keys, key_length, number_of_keys);
84 return (rc == MEMCACHED_SUCCESS);
87 bool set(const std::string& key, const char *value, size_t value_length)
89 memcached_return rc= memcached_set(&memc, key.c_str(), key.length(),
91 time_t(0), uint32_t(0));
92 return (rc == MEMCACHED_SUCCESS);
95 bool set_by_key(const std::string& master_key,
96 const std::string& key,
97 const char *value, size_t value_length)
99 memcached_return rc= memcached_set_by_key(&memc, master_key.c_str(),
101 key.c_str(), key.length(),
105 return (rc == MEMCACHED_SUCCESS);
108 bool increment(const std::string& key, unsigned int offset, uint64_t *value)
110 memcached_return rc= memcached_increment(&memc, key.c_str(), key.length(),
112 return (rc == MEMCACHED_SUCCESS);
115 bool decrement(const char *key, unsigned int offset, uint64_t *value)
117 memcached_return rc= memcached_decrement(&memc, key, strlen(key),
119 return (rc == MEMCACHED_SUCCESS);
123 bool add(const char *key, const char *value, size_t value_length)
125 memcached_return rc= memcached_add(&memc, key, strlen(key), value, value_length, 0, 0);
126 return (rc == MEMCACHED_SUCCESS);
129 bool add_by_key(const char *master_key, const char *key,
130 const char *value, size_t value_length)
132 memcached_return rc= memcached_add_by_key(&memc, master_key, strlen(master_key),
136 return (rc == MEMCACHED_SUCCESS);
139 bool replace(const char *key, const char *value,
142 memcached_return rc= memcached_replace(&memc, key, strlen(key),
145 return (rc == MEMCACHED_SUCCESS);
148 bool replace_by_key(const char *master_key, const char *key,
149 const char *value, size_t value_length)
151 memcached_return rc= memcached_replace_by_key(&memc, master_key, strlen(master_key),
153 value, value_length, 0, 0);
154 return (rc == MEMCACHED_SUCCESS);
157 bool prepend(const char *key, const char *value,
160 memcached_return rc= memcached_prepend(&memc, key, strlen(key),
161 value, value_length, 0, 0);
162 return (rc == MEMCACHED_SUCCESS);
165 bool prepend_by_key(const char *master_key, const char *key,
166 const char *value, size_t value_length)
168 memcached_return rc= memcached_prepend_by_key(&memc, master_key, strlen(master_key),
173 return (rc == MEMCACHED_SUCCESS);
176 bool append(const char *key, const char *value,
179 memcached_return rc= memcached_append(&memc, key, strlen(key),
180 value, value_length, 0, 0);
181 return (rc == MEMCACHED_SUCCESS);
184 bool append_by_key(const char *master_key, const char *key,
185 const char *value, size_t value_length)
187 memcached_return rc= memcached_append_by_key(&memc,
188 master_key, strlen(master_key),
190 value, value_length, 0, 0);
191 return (rc == MEMCACHED_SUCCESS);
194 bool cas(const char *key, const char *value,
195 size_t value_length, uint64_t cas_arg)
197 memcached_return rc= memcached_cas(&memc, key, strlen(key),
198 value, value_length, 0, 0, cas_arg);
199 return (rc == MEMCACHED_SUCCESS);
202 bool cas_by_key(const char *master_key, const char *key,
203 const char *value, size_t value_length,
206 memcached_return rc= memcached_cas_by_key(&memc,
207 master_key, strlen(master_key),
211 return (rc == MEMCACHED_SUCCESS);
214 // using 'remove' vs. 'delete' since 'delete' is a keyword
215 bool remove(const std::string& key)
217 memcached_return rc= memcached_delete(&memc, key.c_str(), key.length(), 0);
218 return (rc == MEMCACHED_SUCCESS);
221 bool delete_by_key(const char *master_key, const char *key)
223 memcached_return rc= memcached_delete_by_key(&memc, master_key, strlen(master_key),
224 key, strlen(key), 0);
225 return (rc == MEMCACHED_SUCCESS);
228 const std::string lib_version() const
230 const char *ver= memcached_lib_version();
231 const std::string version(ver);
237 memcached_result_st result;