【问题标题】:Is it possible to avoid race conditions without memcache using ndb?如果没有使用 ndb 的 memcache,是否可以避免竞争条件?
【发布时间】:2013-11-15 17:03:05
【问题描述】:

据我了解,ndb 优于 db 的优势之一是自动缓存。不再编写无聊的循环来检查缓存上的命中或未命中并在更新实体时更新/删除它们。我想利用这一点,不再需要处理 memcache,但我不明白这是怎么可能的。 Memcache 具有 CAS 的巨大优势,确保我不会处理陈旧的数据。

例如,递增值的经典案例。如果不同的请求同时拉起实体,它们的增量值将是相同的。使用 memcache CAS,可以避免这种情况。

有什么方法可以“检查并放置”ndb 模型吗?如果没有,不应该有吗?

【问题讨论】:

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


    【解决方案1】:

    事务当然可以通过数据存储进行。 Here's NDB 文档了解如何使用它们。

    【讨论】:

    • 啊,所以这就是事务的用途。我之前通读了文档,但由于某种原因它没有渗透,或者我忘记了,因为当时我不需要这个功能。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 2015-01-30
    • 2010-09-25
    • 1970-01-01
    • 2017-12-02
    • 2019-01-10
    相关资源
    最近更新 更多