memcached错误:invalid stream header: 7B227573

遇到场景:
1 之前数据库是用danga版本的memcached client写入的。
2 用spymemcached读出,写入另一个数据库。
3 用danga版本的读取新数据库会报错,当然后面的数据因人而异,我的是7B227573,也就是{"us这4个字符,其实是一个json串的前缀。

原因:
在memcached中,不同的客户端在set或者add值时,对命令的第二个参数的使用是不一致的

<command name> <key> <flags> <exptime> <bytes>
<data block>

JAVA客户端flags字段填写的都是32,不是32的是无法通过java客户端get出来的
所以在通过memcached admin进行数据set时,需要显示指定flags值为32
set testkey 32 0 5
12345
如此放入缓存后,通过java客户端是可以取出来的。

参考:
[1] http://bbs.csdn.net/topics/390198471

你可能感兴趣的:(memcached)