【问题标题】:Is it possible to use both db and ndb with caching on app engine datatore?是否可以在应用引擎数据存储上同时使用 db 和 ndb 缓存?
【发布时间】:2019-10-08 08:21:29
【问题描述】:

我有一个使用 db 写入数据存储区的旧版应用程序版本 (webapp2)。我编写了一个新的只读烧瓶 API,它在同一个数据存储上使用 ndb。

通过 db 的写入没有为 ndb 查询缓存,这就是问题所在。我发现这个解决方法可以禁用 ndb 的缓存读取,How to clear cache for specific model in NDB

但我想知道是否有另一种方法来指导管理这个问题,或者解决方案是否完全迁移到 ndb?

【问题讨论】:

    标签: python-2.7 google-app-engine google-cloud-datastore app-engine-ndb


    【解决方案1】:

    不,当两个客户端都处于活动状态时无法使用缓存,因为ndb 客户端通过memcache 使用缓存而db 客户端不使用。来自The Python DB Client Library for Cloud Datastore

    注意强烈建议开发者构建新应用程序使用NDB Client Library,它有几个 与此客户端库相比的优势,例如自动实体 通过 Memcache API 进行缓存。如果您当前使用的是较旧的数据库 客户端库,阅读DB to NDB Migration Guide

    尝试使用ndb 缓存意味着每个客户端看到的同一实体可能存在差异。

    由于db 已被标记为已弃用一段时间,我宁愿花时间迁移到ndb,在大多数情况下,这并不是一项艰巨的任务。除了使用官方支持的解决方案运行之外,您还可以获得性能改进,并可能降低成本。恕我直言,值得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 2020-06-24
      相关资源
      最近更新 更多