• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Java与php共享Memcached存储数据中的有关问题与解决办法

php 搞代码 3年前 (2022-01-24) 13次浏览 已收录 0个评论

Java与php共享Memcached存储数据中的问题与解决方法

Java与php共享Memcached存储数据中的问题与解决方法

Posted by Demon at 05:57 上午 on 18, Aug 2010

php写入的数据java读不出来,java写入的数据php读取乱码;
如果你根据php提供的memcache扩展协议来自行编写java memcached client将不会有问题,我们这里提到的是使用
java的 MemCachedClient 包;

php_extension: php_memcache.dll / memcache.sojava_jar: MemCachedClient [com.danga.MemCached.*]

解决方案:
经过查看MemCachedClient源码,发现是 set 时 flags不同,java是根据存储值类型来订flags的。

	public static final int MARKER_BYTE             = 1;	public static final int MARKER_BOOLEAN          = 8192;	public static final int MARKER_INTEGER          = 4;	public static final int MARKER_LONG             = 16384;	public static final int MARKER_CHARACTER        = 16;	public static final int MARKER_STRING           = 32;	public static final int MARKER_STRINGBUFFER     = 64;	public static final int MARKER_FLOAT            = 128;	public static final int MARKER_SHORT            = 256;	public static final int MARKER_DOUBLE           = 512;	public static final int MARKER_DATE             = 1024;	public st<span>%本文来源gaodai#ma#com搞*代#码9网#</span><strong>搞gaodaima代码</strong>atic final int MARKER_STRINGBUILDER    = 2048;	public static final int MARKER_BYTEARR          = 4096;

为了方便,两者间的数据转换使用JSON格式;
php与java在存储的时候值类型均要求为String类型,
并且php在$mem->set(key,value,32,expire);加粗部门要注意,这个是必须的。
然后php写入的数据,java那边就能够顺利读取了,当php写入array,object时,java读取后json.decode就OK了。

1 楼 maozilee 2011-10-12

我的用JSON传递没有问题,MEMCACHE会自动判断和序列化。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java与php共享Memcached存储数据中的有关问题与解决办法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址