libmemcached API介绍

有关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 *flagsmemcached_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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值