0

次の単純なmemcacheコードがあります:::::

memcached_return *rc = NULL;

char *sur = "SURBHI";

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

char *value1;

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

memcache_get を呼び出すと、セグメンテーション エラーが発生します。デバッガーは以下を提供しました:

/usr/lib/libmemcached.so.5 からの memcached_get_by_key () の 0 0x00007ffff79c434c

/usr/lib/libmemcached.so.5 からの memcached_get () の 1 0x00007ffff79c454f

誰かが同様の問題に直面したか、解決策について何か考えがありますか?

4

1 に答える 1

1

の最後の 3 つのパラメーターは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 に答える