3

Go から memcache に書き込み、Java (appengine 上) から読み取ることはできますか?

「Java 文字列」タイプと「Go 文字列」タイプのキーがあるため、memcache ビューアーからは答えがノーのように見えます。[]バイトの共有はどうですか?

Web フックとデータ ストアは、Java と Appengine 上の Go の間で通信する唯一の方法ですか?

ありがとう

4

1 に答える 1

3

あなたの質問に対する答えはわかりませんが、その一部はMemcacheSerialization.javaのメソッド makePbKey にあります。これは、Java がどのようにオブジェクトを取得し、そこからキーを作成するかを示しています。

同様に、appengine/memcache/memcache.go ファイルでは、AppEngine for Go が Item.Key (文字列型) からキーを作成する方法を確認できます。各キーが単純なキャストによって文字列から [] バイトに変換される GetMulti を参照してください。

したがって、質問に対する最終的な答えは、同じキーになる mkPbKey と GetMulti の両方を通るパスを見つけることに依存します。Java に文字列型のキーを与え、その長さが 250 未満で、Go でキーの前後に "" を忘れずに入れれば、うまくいくかもしれません。(しかし、mkPbKey を読むと、200 個のコード ポイントを含む文字列にどのように反応するのか疑問に思います。そのすべてが UTF-8 のマルチバイト エンコーディングになります。予想よりも大きなキーが生成されるようです。)

于 2012-04-17T09:37:25.820 に答える