您好,欢迎访问一九零五行业门户网

java存入信息php读写memcache乱码问题_PHP教程

我们利用java把数据写入然后利用php读出,但这样利用php读出时发现了在memcache乱码问题出来了,下面我来给大家介绍memcache乱码的解决办法。
java读取php写入memcache内容
故事背景:我用java插入一条数字记录,用php读取无法正确读取。
今天发现如果使用memcachedclient来插入一条数字,或者java的对象,那么在php调出来就是乱码。
对象可以理解,简单的数字也会乱码

 代码如下 复制代码
mcc.set(a,25);
php中出来的是乱码,同时如果采用telnet的方式来进行查询
get a
出来问号。
翻了一圈说要改类包。
最后发现个问题,如果改用字符串,那么java和php就能通用了。
 代码如下 复制代码
mcc.set(a,25″);
而且telnet 192.168.0.1 11211进入进行get也能得出正确的数字了。
本来我要对a这个值进行加法运算,觉得采用int会方便一些,居然和php读取memcache的时候有冲突。还是来回进行变量类型转换吧。
如果你也在使用java写入memcache,php读出memcache,通用一个字符串存储,就可以避免很多问题了。
不是java的类包不行。
java读取php写入memcache内容
当前需求:php将key为my_key,value为my_value写入到memcache中,然后用java连接memcache读取my_key的值my_value。
php端的代码为:
 代码如下 复制代码
connect(192.168.1.20,27688);
                $mem->set(my_key,my_value,false , 86400);
                $my_v=$mem->get(my_key);
                var_dump($my_v);
               $mem->close();
?>
经检测,php写入后,用php和在memcache命令行都能获取的很好。
但是,用下面的java代码获取,却获取到null
 代码如下 复制代码
import com.danga.memcached.memcachedclient;
import com.danga.memcached.sockiopool;
public class cachereader {
static private memcachedclient client =new memcachedclient();
static{
   string[] servers = { 192.168.1.20:27688};
   sockiopool pool = sockiopool.getinstance();
   pool.setservers(servers);
   pool.initialize();
}
public void   get(string name){
   system.out.println(client.get(name));
}
public static void main(string[] args) {
   new cachereader().get(my_key);
}
}
一开始,我还以为是我的编码的问题,或者是某些参数设置的问题。后来,我想可能是各种memcache的客户端的寻址方式不太一样吧。几经周折,还是间接的解决了这个问题:我更换了java端的memcache的客户端,采用net.spy.memcached.memcachedclient就可以了。代码如下:
 代码如下 复制代码
import java.io.ioexception;
import java.net.inetsocketaddress;
import net.spy.memcached.memcachedclient;
public class spymem {
public static void main(string[] args) {
   try {
    memcachedclient c=new memcachedclient(new inetsocketaddress(192.168.1.20,27688));
    system.out.println(c.get(my_key));
    c.shutdown();
   } catch (ioexception e) {
    e.printstacktrace();
   }
}
}
http://www.bkjia.com/phpjc/632069.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/632069.htmltecharticle我们利用java把数据写入然后利用php读出,但这样利用php读出时发现了在memcache乱码问题出来了,下面我来给大家介绍memcache乱码的解决办法。...
其它类似信息

推荐信息