问题描述
今天有同事反馈,我们推送到mcq队列中的数据有一些获取到的是乱码。
同事使用C语言读取队列,起初认为是他们代码编写有问题,后来自己尝试用php写入同样的数据后立即读取,也会出现乱码数据。并且乱码的数据通常长度比较长。
问题解决
通过google搜索等,发现php高版本memcached库会在写入值到达一定长度时自动进行压缩,将该特性关闭后,数据乱码问题解决
|
|
中间其实有一个问题,在memcached文档中关于数据压缩是这么写的
按照文档的意思,我们不需要关心数据解压缩的问题,获取到的应该就是解压缩后的数据,这与我们看到的不符,这里我的一位同事发现这是mcq队列实现的一个坑,没有实现对压缩数据的支持。