今天遇到一个奇怪的问题,memcache_set的时候,启用了其压缩模式MEMCACHE_COMPRESSED,有些数据取出来的是乱码。
1. 先把数据转换成json数据,然后保存到mc里面 ,最后再取出数据,看看数据是否正常
测试:存入数据{"info":{"1":{"2":"1"},"2":{"5":"1"},"3":{"6":"1"}},"id":1}" ,取出的却是x��V��K�W��V2FJV@F��Q�d ��xf����deX ����
2. 先把直接把数据保存到mc里面 ,最后再取出数据,看看数据是否正常
测试:存入数据array(1) { ["info"]=> array(2) { [1]=> array(1) { [1]=> int(2) } [2]=> array(1) { [1]=> int(2) } }} ,取出的却是x�K�2��.�2�R��K�W�N�2��δ22 !�L+#�Z�*R[ ���
最后把MEMCACHE_COMPRESSED关闭,重新存入数据,取出的数据和存入的数据都是一致的,没问题的。
很奇怪的问题,猜测可能开启压缩后,memcache的压缩解压模式可能处理一些数据还存在问题,所以导致乱码。