是否可以将二进制字符串存储到memcached,然后将其恢复到应用程序中?

时间:2013-05-05 05:58:42

标签: string binary memcached

在我的项目中,我想将二进制字符串(字符串如“010101010101”)存储到memcached,然后在需要时将其恢复, 似乎我可以成功地将字符串存储到memcached,因为“get xxx”给了我类似于原始字符的结果, 但是当我使用“memcached_get”函数在我的代码中获取结果时,返回字符串与原始二进制字符串不同, 返回字符串的长度比原始字符串短得多。

谁可以告诉我为什么,是否可以将二进制字符串存储到memcached?

谢谢你,期待你的回复〜!

丹尼尔。

1 个答案:

答案 0 :(得分:0)

嗨Joachim和rekire,

我已经解决了这个问题。 我在我的代码中使用了libmemcache c ++客户端,“memcache_get”调用的返回是char *,我只是使用string value = string(xxx)将char *转换为字符串。 但实际上二进制字符串包含'\ r \ n',因此我只是在第一个'\ r \ n'之前得到了字符串并丢失了其余的数据,这是问题的关键点。 现在我只使用string.append(xxx,length)来获取整个二进制序列。

rekire,感谢您的提示,问题的原因与您的建议相似。

谢谢〜!