This topic created in 5801 days ago, the information mentioned may be changed or developed.
因为GAE中实体ID不连续,我就在类中弄了个计数的属性,每次读取上个实体的计数值+1
我看v2ex的代码是单独弄一个计数器的类,每次去更新它。
请问这两种谁更有效率些?
4 replies • 1970-01-01 08:00:00 +08:00
 |
|
首先,你必须想想:你真的必须要连续的 ID 吗? 如果不是必须的,那就放弃它是效率最高的。
|
 |
|
@ darasion 需要,之前的帖大家也说默认算了。。。可GAE的ID实在跳的太厉害
|
 |
|
简单来说,没法做到id连续且高效
同时创建2个实体时,你没法保证id不冲突,除非所有实体都在一个实体组
而如果使用实体组,你更改任何一个实体,都会导致其他实体暂时不能被更改
如果id不需要完全连续(允许冲突时跳跃1的话),使用memcache来加锁或许可以搞定
至于你提到的2个方法,v2ex的更有效,因为get比query快,而且不会因为索引未生效而得到错误结果
|
 |
|
谢谢
|