【问题标题】:Add function on AppEngine Memcache在 AppEngine Memcache 上添加功能
【发布时间】:2011-11-12 01:23:24
【问题描述】:

我正在使用 memcache 来存储 json,它正在工作。但问题是,如果我多次调用该行,缓存大小会增加:

memcache.Client.add(memcache.Client(),"searchindex",json)

所以我查看了 memcache 查看器,但内容仍然相同,因为我使用的密钥已经在缓存中。但是,即使缓存的大小继续增加。

【问题讨论】:

    标签: python google-app-engine memcached


    【解决方案1】:

    首先,这是调用实例方法的一种非常奇怪的方式。通常你会这样做:

    memcache.Client().add("searchindex", json)
    

    或者简单地说:

    memcache.add("searchindex", json)
    

    由于add 不会覆盖缓存中已存在的键,因此重复调用它应该不会影响应用程序的行为。

    这些调用是否会增加缓存大小应该不是问题。 Memcache 旨在根据应用程序的需要提供内存,基于最少使用算法。来自惰性的垃圾内存应该首先清除add 调用。

    【讨论】:

    • 我担心 memcache 大小的增加,因为我在 appengine 上为此付费。我没有办法避免浪费空间吗?
    • 您在什么意义上对内存收费?您需要按实例小时数付费,并且实例具有固定的内存量。如果你的内存用完了,memcache 应该开始驱逐陈旧的数据并将内存返回给你的应用程序。我看不出这会如何导致您被收取更多费用。
    • 您无需为 memcache 付费。
    • 我知道这是三年前写的,但现在你需要为 memcache 付费 - 每 GB/小时 0.06 美元。 developers.google.com/appengine/…
    • 不,据我所知,默认的“共享内存缓存”是免费的,而“专用内存缓存”的费用为 0.06 美元/GB/小时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 2014-06-22
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多