libmemcached API介绍

来源:互联网 发布:阿里云搭建服务器 编辑:程序博客网 时间:2024/06/05 09:36
有关memcached的C语言接口——libmemcached的介绍:详情参见:http://docs.libmemcached.org/index.html
   1.       创建和删除memcached_st结构。

#include <libmemcached/memcached.h>

memcachd_st ;该结构可以静态创建也可以由memcached_create动态创建。

 

memcached_st* memcached_create(memcached_st *ptr)

ptr不为空时是静态创建,如果ptr为空,那么该函数返回一个memcached_st结构。

 

void memcached_free(memcached_st *ptr)

释放memcached_st结构所用的内存,删除memcached_st

 

memcached_st* memcached_clone(memcached_st *destination, memcached_st *source)

克隆一个memcached_st结构;如果source为空,那么其作用和memcached_create一样,如果destination为空,则该函数的返回值将会返回一个和source一样的memcached_st结构。

 

void memcached_servers_reset(memcached_st)

memcached_st所拥有与服务器的连接全都断开。

 

Compile and link with –lmemcached

2.    Memcached_return_t的返回值。

MEMCACHED_SUCCESS表示操作成功,其他均表示错误;其他错误的详情参考:http://docs.libmemcached.org/error_messages.html。

3.       增加和减少值。

#include <libmemcached/memcached.h>

memcached_return_t memcached_increment (memcached_st *ptr, const char *key, size_t key_length, unsigned int offset, uint64_t *value)

 

memcached_return_t memcached_decrement (memcached_st *ptr, const char *key, size_t key_length, unsigned int offset, uint64_t *value)

offset是其增加或者减少的数值,改变后的值通过value指针返回。

其他增加和减少操作参见:

http://docs.libmemcached.org/memcached_auto.html。

4.       从服务器获取值。

#include <libmemcached/memcached.h>

char * memcached_get(memcached_st *ptr, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error)

一次通过一个键获取一个值。

memcached_return_t memcached_mget(memcached_st *ptr, const char * const *keys, const size_t *key_length, size_t number_of_keys)

memcached_result_st * memcached_fetch_result(memcached_st *ptr, memcached_result_st *result, memcached_return_t *error)

以上两个函数同时配合使用,一次调用可以通过多个键获取多个值。先通过memcached_mget调用获取多个键的值,这些值通过循环调用memcached_fetch_result来获得每一个键所对应的值,直到该函数返回0

5.       Store, Add and Replace的操作。

memcached_return_t memcached_set (memcached_st *ptr, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags);

memcached中如果存在该键,则利用新值去替换,否则将该记录写入memcached中。

 

memcached_return_t memcached_add (memcached_st *ptr, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags);

如果memcached中存在该键,发生错误;否则将该记录添加进memcached中。

 

memcached_return_t memcached_replace (memcached_st *ptr, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags);

如果memcached中没有该键,发生错误;否则替换value

以上三个函数中,key的长度不能超过250个字符,value是一个16个字节的值。Expiration是该记录在memcached的有效时间,即是超时时间。

6.       删除操作。

memcached_return_t memcached_delete (memcached_st *ptr, const char *key, size_t key_length, time_t expiration);

该函数将与key对应的记录放入删除队列中,并且通过expiration指定该记录从服务器删除的时间。

7.       断开客户端与服务器的连接。

void memcached_quit (memcached_st *ptr);

 

 

 

 

使用遇到的:

memcached_server_list_st memcached_server_list_append(memcached_server_list_st list, const char *hostname, unsigned int port, memcached_return_t *error)

该函数是将要连接的服务器添加到memcached_server_st数组中,返回值为NULL时表示出现错误,如果未指定port端口则使用默认的端口。

 

memcached_return_t memcached_server_push(memcached_st *ptr, const memcached_server_st *list)

该函数将 memcached_server_st数组添加到memcached_st结构中。

 

void memcached_server_list_free(memcached_server_list_st list)

释放memcached_server_list_st所占据的内存。

0 0
原创粉丝点击