Java 将属性写入memcache,但不写入Objectify中的数据存储?
在Objectify中,我可以用@Cache注释一个实体,将其写入memcache。如果我想忽略写入数据存储的某些属性,我可以用@ignore注释它们Java 将属性写入memcache,但不写入Objectify中的数据存储?,java,google-app-engine,caching,objectify,Java,Google App Engine,Caching,Objectify,在Objectify中,我可以用@Cache注释一个实体,将其写入memcache。如果我想忽略写入数据存储的某些属性,我可以用@ignore注释它们 我要寻找的是一种在memcache中存储属性的方法,而不是在数据存储中 我想把这个和.save(onlyCache)结合起来。{仅限伪代码} 换句话说,我希望能够拥有属性,这些属性只能持久化到memcache,而不能持久化到数据存储。如果从memcache中检索实体,我将填充这些属性,否则它们为空 同时,我希望能够将实体只保存到memcach
- 我要寻找的是一种在memcache中存储属性的方法,而不是在数据存储中
- 我想把这个和.save(onlyCache)结合起来。{仅限伪代码}
在Objectify中是否存在类似的内容和/或是否可行?这种方法有什么缺点吗?未持久化到数据库的属性可能不属于该实体。可以分别使用MemcacheService()将您提到的运行时属性保存到memcache。这不会使代码变得混乱(注释、@Ingore、@CacheOnly等太多),并保持模式干净。这是正确的答案。Objectify是一个持久化API。如果你想在缓存方面有古怪的业务逻辑,你应该在Objectify的上面而不是下面分层。我同意你的观点,但我想提出这一点,因为当Objectify与云端点结合使用时,分层并不干净,因为实体在一端用于持久性,在另一端用于传输REST。因此,我们已经在代码中为两种不同的东西添加了注释,在这一点上,为缓存同一实体添加更多注释可能是有意义的。但我同意,这种带有大量注释的代码很难阅读。