我可以从Go写入memcache,然后从Java (在appengine上)读取它吗?
从memcache查看器看,答案似乎是否定的,因为有"Java string“和"Go string”类型的键。那么共享[]字节呢?
web挂钩和数据存储是Java和Go在Appengine上通信的唯一方式吗?
谢谢
发布于 2012-04-17 17:37:26
我不知道您的问题的答案,但您可以在MemcacheSerialization.java的makePbKey方法中找到其中的一部分。这显示了Java如何获取对象并将其作为键。
同样,在appengine/memcache/memcache.go文件中,您可以看到Go的AppEngine如何从Item.Key (类型字符串)中生成一个键。参见GetMulti,其中每个键都通过简单的强制转换从字符串转换为[]字节。
因此,您的问题的最终答案取决于您找到一条通过mkPbKey和GetMulti的路径,该路径会产生相同的密钥。在我看来,如果你给Java一个字符串类型的键,并且它的长度小于250,并且你记得在Go键的前后加"“,它可能会起作用。(但是阅读mkPbKey让我想知道它对一个有200个代码点的字符串有什么反应,所有这些都会导致使用UTF8进行多字节编码。它似乎会产生一个比他们预期的更大的密钥。)
https://stackoverflow.com/questions/10182805
复制相似问题