目次
Java与php共享Memcached存储数据中的问题与解决方法
ホームページ バックエンド開発 PHPチュートリアル Java与php共享Memcached存储数据中的有关问题与解决办法

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

Jun 13, 2016 am 11:00 AM
final int public static

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 static 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会自动判断和序列化。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPでint型をbytesに変換する方法を詳しく解説 PHPでint型をbytesに変換する方法を詳しく解説 Mar 06, 2024 pm 06:18 PM

PHPでint型をbyte型に変換する方法を詳しく解説 PHPでは、ネットワークデータ送信やファイル処理、暗号化アルゴリズムなどを扱う場合など、整数型(int)をバイト型(Byte)に変換する必要が生じることがよくあります。 。この記事では、int型をbyte型に変換する方法と具体的なコード例を詳しく紹介します。 1. int 型と byte の関係 コンピュータ分野では、基本データ型 int は整数を表しますが、byte (バイト) はコンピュータの記憶単位で、通常は 8 ビットのバイナリデータです

Javaのfinal、finally、finalizeの違い Javaのfinal、finally、finalizeの違い Feb 19, 2024 pm 12:16 PM

Java におけるfinal、finally、finalize の違いには、具体的なコード例が必要です。Java プログラミングでは、final、finally、finalize という 3 つのキーワードが頻繁に使用されます。これらは綴りは似ていますが、意味と使用法が異なります。この記事では、これら 3 つのキーワードの違いを詳しく説明し、読者の理解を助けるコード例を示します。 1. Final キーワード Final キーワードは、クラス、メソッド、変数に使用できます。その機能は、変更されたクラスを作成することです

Java では、final キーワードのみを使用して定数を定義できますか? Java では、final キーワードのみを使用して定数を定義できますか? Sep 20, 2023 pm 04:17 PM

定数変数とは、値が固定されており、プログラム内に 1 つだけ存在する変数です。定数変数を宣言して値を代入すると、プログラム全体でその値を再度変更することはできません。他の言語とは異なり、Java は定数を直接サポートしません。ただし、変数を static および Final として宣言することで、定数を作成することはできます。静的 - 静的変数を宣言すると、それらはコンパイル時にメモリにロードされます。つまり、使用できるコピーは 1 つだけになります。 Final - Final 変数を宣言すると、その値は変更できなくなります。したがって、インスタンス変数を static かつ Final として宣言することで、Java で定数を作成できます。デモの例 classData{&am

double型変数をint型に変換するC++プログラム double型変数をint型に変換するC++プログラム Aug 25, 2023 pm 08:25 PM

C++ では、int 型の変数は正または負の整数値のみを保持でき、10 進数値を保持できません。この目的に使用できる float 値と double 値があります。 double データ型は、小数点以下 7 桁までの小数を格納するために作成されました。整数から double データ型への変換は、コンパイラによって自動的に実行することも (「暗黙的」変換と呼ばれます)、プログラマがコンパイラに明示的に要求することもできます (「明示的」変換と呼ばれます)。次のセクションでは、さまざまな変換方法について説明します。暗黙的な変換 コンパイラは暗黙的な型変換を自動的に実行します。これを実現するには、浮動小数点型と整数型の 2 つの変数が必要です。浮動小数点値または変数を整数変数に代入するだけでは、コンパイラが他のすべてのことを処理します。

iOS の開発者バージョンとパブリック バージョンの違いは何ですか? iOS の開発者バージョンとパブリック バージョンの違いは何ですか? Mar 01, 2024 pm 12:55 PM

毎年、Apple が iOS と macOS の新しいメジャー バージョンをリリースする前に、ユーザーは数か月前にベータ版をダウンロードして最初に体験することができます。同ソフトウェアは一般ユーザーと開発者の両方が使用するため、Appleは開発者向けベータ版のパブリックベータ版である開発者版とパブリック版を両方向けに開始した。 iOS の開発者バージョンとパブリック バージョンの違いは何ですか?文字通りに言うと、開発者バージョンは開発者テスト バージョンであり、パブリック バージョンは公開テスト バージョンです。開発者バージョンとパブリック バージョンは、異なるユーザーを対象としています。開発者バージョンは、Apple が開発者によるテストのために使用します。ダウンロードしてアップグレードするには、Apple 開発者アカウントが必要です。

int32の値の範囲はどれくらいですか? int32の値の範囲はどれくらいですか? Aug 11, 2023 pm 02:53 PM

int32 の値の範囲は、-2 の 31 乗から 2 の 31 乗 - 1、つまり -2147483648 ~ 2147483647 です。 int32 は符号付き整数型です。つまり、正の数、負の数、ゼロを表現できます。1 ビットを符号ビットの表現に使用し、残りの 31 ビットは数値の表現に使用されます。符号ビットを表すために 1 ビットが使用されるため、int32 の有効ビット数は 31 です。

Go言語でintを文字列型に変換する方法 Go言語でintを文字列型に変換する方法 Jun 04, 2021 pm 03:56 PM

変換方法: 1. Itoa() 関数を使用し、構文 "strconv.Itoa(num)" 2. FormatInt() 関数を使用して、int 型データを指定した基数に変換し、文字列の形式で返します。構文「strconv .FormatInt(num,10)」。

Java int にはいくつの数値がありますか? Java int にはいくつの数値がありますか? Mar 06, 2023 pm 04:09 PM

Java では、int は 32 ビットの符号付きデータ型であり、その変数には 32 ビットのメモリが必要です。int データ型の有効範囲は -2147483648 ~ 2147483647 で、この範囲内のすべての整数は整数リテラルと呼ばれます。 「int num1 = 21;」のように、整数リテラルを int 変数に割り当てることができます。

See all articles