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

为什么需要在这里传递参数“size_t key_length”和“size_t *value_length”?我认为可以直接通过键获取值。

谁能帮忙告诉我原因,谢谢。

4

1 回答 1

3

key 参数是一个指针,指向要从 memcache 中获取的信息的标识符。key_length 告诉 memcached_get() 函数你的标识符数据有多长。

如果 libmemcache API 假设 key 参数指向的数据是以 NULL 结尾的字符串,那么我们就不需要同时传入 key_length 参数。但是通过不做这个假设,API 允许我们使用除以 NULL 结尾的字符字符串以外的数据作为键(例如,UTF-16 字符串或二进制数)。

于 2010-11-23T23:37:10.943 回答