Google app engine 是否可以将实体实例放入memcache服务?
我正在使用AppEngine的低级java数据存储api。我想将获取的实体实例存储到memcache中,但不确定是否存在与此相关的任何问题。例如:Google app engine 是否可以将实体实例放入memcache服务?,google-app-engine,Google App Engine,我正在使用AppEngine的低级java数据存储api。我想将获取的实体实例存储到memcache中,但不确定是否存在与此相关的任何问题。例如: DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Entity entity = datastore.get(...); MemcacheService syncCache = MemcacheServiceFactory.getMemcacheS
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity entity = datastore.get(...);
MemcacheService syncCache = MemcacheServiceFactory.getMemcacheService();
syncCache.put("abc", entity);
现在,过了一段时间,我将实体从memcache中拉出,修改一个属性,然后将其放回数据存储:
entityLaterOn = syncCache.get("abc");
entityLaterOn.setProperty("foo", "bar");
datastore.put(entityLaterOn);
这是合法用法吗?是否有任何与我最初放入memcache的实体相关的状态会导致尝试上述操作时出现问题
我看到的memcache的大多数示例都涉及首先将实体实例转换为中间模型类,而不是直接缓存实体实例本身
谢谢实体实现了Serializable,所以将其存储在Memcache中应该不会有问题。唯一的限制是对象的总大小应小于app。1MB,但它适用于所有对象 但是,请记住,可以随时从Memcache中逐出对象。因此,当调用
entityLaterOn=syncCache.get(“abc”)时,您必须准备好让entityLaterOn
为null代码>