0

我有以下简单的内存缓存代码:::::

memcached_return *rc = NULL;

字符 *sur = "SURBHI";

memcached_set(cacheClient, "SB", strlen("SB"), sur, strlen(sur), (time_t)0, (uint32_t)0);

字符 *value1;

memcached_get(cacheClient, "SB", strlen("SB"), 6, (uint32_t)0, rc);

对 memcache_get 的调用会导致分段错误。调试器给出了以下内容:

0 0x00007ffff79c434c 在来自 /usr/lib/libmemcached.so.5 的 memcached_get_by_key ()

1 0x00007ffff79c454f in memcached_get () from /usr/lib/libmemcached.so.5

有没有人遇到过类似的问题,或者对解决方案有任何想法?

4

1 回答 1

1

的最后三个参数memcached_get应该是指针,您将通过这些指针获取值、长度和错误代码等信息。见下文:

char *key = "key";
size_t value_length;
memcached_return_t ret;
uint32_t flags;
char *value = memcached_get(memc, key, strlen(key), &value_length, &flags, &ret);

if (ret == MEMCACHED_SUCCESS) {
  // ok
} else {
  // error
}
于 2012-06-28T08:37:36.000 回答