DAOCLOUD
推荐学习书目
Python Cookbook
Using Google App Engine
推荐下载
Latest Google App Engine SDK
其他兼容技术
AppScale
julia

GAE: 新手请教这两种方法的效率谁更高?

  •  
  •   julia · Dec 15, 2010 · 4719 views
    This topic created in 5630 days ago, the information mentioned may be changed or developed.
    因为GAE中实体ID不连续,我就在类中弄了个计数的属性,每次读取上个实体的计数值+1

    我看v2ex的代码是单独弄一个计数器的类,每次去更新它。

    请问这两种谁更有效率些?
    4 replies    1970-01-01 08:00:00 +08:00
    darasion
        1
    darasion  
       Dec 15, 2010
    首先,你必须想想:你真的必须要连续的 ID 吗?
    如果不是必须的,那就放弃它是效率最高的。
    julia
        2
    julia  
    OP
       Dec 15, 2010
    @darasion 需要,之前的帖大家也说默认算了。。。可GAE的ID实在跳的太厉害
    keakon
        3
    keakon  
       Dec 15, 2010
    简单来说,没法做到id连续且高效

    同时创建2个实体时,你没法保证id不冲突,除非所有实体都在一个实体组

    而如果使用实体组,你更改任何一个实体,都会导致其他实体暂时不能被更改

    如果id不需要完全连续(允许冲突时跳跃1的话),使用memcache来加锁或许可以搞定

    至于你提到的2个方法,v2ex的更有效,因为get比query快,而且不会因为索引未生效而得到错误结果
    julia
        4
    julia  
    OP
       Dec 16, 2010
    谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   880 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:36 · PVG 04:36 · LAX 13:36 · JFK 16:36
    ♥ Do have faith in what you're doing.