问题描述
- libmemcached调用memcached_set会connection failed 原因?
-
服务已经开启
root 12217 1 0 13:53 ? 00:00:00 /usr/local/bin/memcached -d -m 10 -u root -l 192.168.107.200 -p 6500 -c 256 -vv -P /tmp/memcached.pid程序代码
#include
#include
#include
#includeint main(int argc, char *argv[])
{
memcached_server_st *servers = NULL;
memcached_st *memc;
memcached_return rc;
char *key= "keystring";
char *value= "keyvalue";servers=memcached_servers_parse("127.0.0.1:6500");
memc= memcached_create(NULL);servers= memcached_server_list_append(servers, "localhost", 11211, &rc);
rc= memcached_server_push(memc, servers);if (rc == MEMCACHED_SUCCESS)
fprintf(stderr,"Added server successfullyn");
else
fprintf(stderr,"Couldn't add server: %sn",memcached_strerror(memc, rc));rc= memcached_set(memc, key, strlen(key), value, strlen(value), (time_t)0, (uint32_t)0);
if (rc == MEMCACHED_SUCCESS)
fprintf(stderr,"Key stored successfullyn");
else
fprintf(stderr,"Couldn't store key: %sn",memcached_strerror(memc, rc));return 0;
}调试之后rc返回值是MEMCACHED_FAILED
解决方案
你命令,服务器绑定的192.168.107.200
memcached -d -m 10 -u root -l 192.168.107.200
而代码用的127.0.0.1,两个不一致
servers=memcached_servers_parse("127.0.0.1:6500");
memc= memcached_create(NULL);
servers= memcached_server_list_append(servers, "localhost", 11211, &rc);