Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌应用引擎Memcache-首选结构[Java]_Java_Google App Engine_Google Cloud Datastore_Google Cloud Platform - Fatal编程技术网

谷歌应用引擎Memcache-首选结构[Java]

谷歌应用引擎Memcache-首选结构[Java],java,google-app-engine,google-cloud-datastore,google-cloud-platform,Java,Google App Engine,Google Cloud Datastore,Google Cloud Platform,我必须在Google App Engine[Java]中编写汽车制造行业详细信息的应用程序 这就像拥有下面这样的层次结构 制造商-车身类型-车型-内部部件(发动机/燃油类型/…),每个部件都有注释和文件附件 如果想要获得多个制造商的详细信息,则需要在数据库中花费很长时间,因为它必须从HRD运行近8个查询(对于单个制造商) 我只是想知道存储在memcache中的最佳方法——例如,如果我将每个对象都保存在memcache中,那么我必须在单独的键中管理每个项的键。如果要将所有结果保存在一个键(如jso

我必须在Google App Engine[Java]中编写汽车制造行业详细信息的应用程序

这就像拥有下面这样的层次结构

制造商-车身类型-车型-内部部件(发动机/燃油类型/…),每个部件都有注释和文件附件

如果想要获得多个制造商的详细信息,则需要在数据库中花费很长时间,因为它必须从HRD运行近8个查询(对于单个制造商) 我只是想知道存储在memcache中的最佳方法——例如,如果我将每个对象都保存在memcache中,那么我必须在单独的键中管理每个项的键。如果要将所有结果保存在一个键(如json、xml或列表)中,那么对于每个项目,我必须在项目更新时单独管理它们,以及json、xml或列表中的更新,如果超过10KB,则需要拆分它们,因为我们使用专用的memcache

管理此类业务的最佳方法是什么

有没有其他解决办法,请告诉我

谢谢


Krishnan

如果您使用NDB,则某些类型的操作会自动缓存。谢谢,JAVA App Engine中是否提供NDB?我更喜欢爪哇,我不知道。我已经为您的问题添加了标签。只有在您多次频繁地请求同一对象时,memcache才会有所帮助。它只需要被视为缓存,并且可以随时删除。在python中,它要么是基于每个键(在ndb的保护下)进行的,要么是缓存一个昂贵的数据存储操作的结果,这是您希望经常使用的。如果您不经常重复相同的读取操作,您可能会发现memcache增加了开销,但没有什么好处。如何使用java将取决于您使用的api。如果使用单个keymemcache缓存多个实体,则缓存无效可能是一个问题。缓存实体的大小可能高达1MB。