有俩个系统共用一个memcached,但是从A系统写进在B系统可以读到,但是从B系统写进在A系统读不到。
浪费好多时间查找这个问题,开始以为开发共用的代码问题,但是代码一样。
最后终于找出原因是因为memcached客户端jar包版本不一致问题, 从A系统写进在B系统中能读到是因为A系统中使用了比较低的版本
B中高版本兼容了低版本的jar包,但是低版本无法反序列化高版本写进的东西。所以获取不到相同键值。造成了这个问题
解决的方法是把memcached换成相同的版本,当然我选择了换成高版本的jar包
A memcached jar包:java_memcached-release_2.1.2.jar
B memcached jar包:java_memcached-release_2.5.2.jar