java存入信息php读写memcache乱码问题
发布:smiling 来源: PHP粉丝网 添加日期:2013-12-06 23:19:14 浏览:71 评论:0
故事背景:我用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端的代码为:
- <?php
- $mem=new Memcache;
- $mem->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();
- }
- }
- }
Tags: java 存入 信息 php读写
相关文章
- ·PHP压缩javascritp 与CSS的例子(2014-06-19)
- ·java模拟PHP的pack和unpack类(2019-09-29)
- ·PHP调用JAVA的WebService简单实例(2020-10-26)
- ·PHP、Java des加密解密实例(2021-05-23)
- ·php图片保存入mysql数据库失败解决办法(2014-09-10)
- ·php将图片保存入mysql数据库失败的解决方法(2021-05-04)
- ·php curl 分离header和body信息(2014-01-07)
- ·PHP批量检测并去除文件BOM头信息代码(2014-06-20)
- ·PHP模拟QQ登录,发送和接收信息的例子(2014-06-25)
- ·PHP安全之防止.inc配置信息暴露(2014-08-21)
- ·php多线程抓取信息测试例子(2014-08-27)
- ·PHP提交表单失败后如何保留填写的信息(2014-08-27)
- ·php检测文件类型,根据文件header信息(2014-09-09)
- ·php与mysql删除指定编号的员工信息(2014-09-10)
- ·PHP实现采集抓取淘宝网单个商品信息(2021-05-08)
- ·php curl请求信息和返回信息设置代码实例(2021-05-23)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)