在我的项目中,我想将二进制字符串(如“010101010101”的字符串)存储到 memcached,然后在需要时将其取回,看来我可以成功地将字符串存储到 memcached,因为“get xxx”给了我一个类似于原始的结果一,但是当我在我的代码中使用“memcached_get”函数获取结果时,返回字符串与原始二进制字符串不同,返回字符串的长度比原始字符串短得多。
谁能告诉我为什么,是否可以将二进制字符串存储到 memcached 中?
谢谢你,期待你的回复~!
丹尼尔。
嗨 Joachim 和 rekire,
我已经解决了这个问题。我在代码中使用了 libmemcache c++ 客户端,“memcache_get”调用的返回是 char*,我只是使用 string value = string(xxx) 将 char* 转换为字符串。但实际上二进制字符串包含 '\r\n' 因此我只是在第一个 '\r\n' 之前得到了字符串并丢失了其余数据,这是问题的关键。现在我只是使用 string.append(xxx, length) 来获取整个二进制序列。
rekire,感谢您的提示,问题的原因与您的建议相似。
谢谢~!