gpt4 book ai didi

java - 将属性写入内存缓存,但不写入 Objectify 中的数据存储?

转载 作者:行者123 更新时间:2023-12-02 05:07:33 24 4
gpt4 key购买 nike

在 Objectify 中,我可以使用 @Cache 注释实体以将其写入内存缓存。如果我想忽略写入数据存储的某些属性,我可以使用 @Ignore 对它们进行注释。

  • 我正在寻找一种将属性存储在内存缓存中而不是数据存储中的方法。
  • 我想将其与 .save(onlyCache) 结合起来。 {仅限伪代码}

换句话说,我希望能够拥有仅持久保存到内存缓存而不是数据存储的属性。如果从内存缓存检索实体,我会填充这些属性,否则它们为空。

同时,我希望能够仅将实体保存到内存缓存,而不是数据存储。

为什么这是有道理的?有时我有一些属性,我只在用户在线时才需要这些属性,而如果这些属性丢失则无关紧要。例如,假设我有一个不经常写入但经常读取的 User 实体(例如社交网络中 friend 的状态),并且我想跟踪每个用户的状态,其中每次用户导航时状态值都会发生变化在我的应用程序中。如果能够将用户存储到内存缓存并附加其当前存在指示符,那就太好了,因此当检索该用户时,客户端会收到该实体及其持久值以及任何可用的缓存信息。如果我可以控制 .save(onlyCache) 来告诉 Objectify 我是否只想将实体保存到内存缓存或一直保存到数据存储区,我就可以微调我想要看到的内容和不想要看到的内容。

Objectify 中是否存在类似的东西和/或可行吗?您可以看到这种方法有什么缺点吗?

最佳答案

未保存到数据库的属性可能不属于该实体。您提到的运行时属性可以单独使用 MemcacheService ( https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/memcache/MemcacheService ) 保存到 memcache 中。这不会使您的代码变得困惑(有太多注释、@Ingore、@CacheOnly 等)并保持架构干净。

关于java - 将属性写入内存缓存,但不写入 Objectify 中的数据存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27642152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com