我使用 java memcache api 来存储与用户关联的非持久数据。每个用户都有关联的 memcache 实体存储一些属性,其中一些属性是嵌入式实体。过了一会儿,它们消失了,而其他属性(字符串、整数、布尔值)仍然存在。是有意如此,还是我的代码中遗漏了一些东西?我可以依赖存储在缓存中的实体至少一个小时或类似的东西吗?我在使用谷歌插件在本地机器上调试时看到了这种行为。我的代码是这样的:
class UserData {
public Entity getEntity() {
Entity ret = new Entity( "User", key );
ret.setProperty( "property1", _integerval );
ret.setProperty( "property2", _stringval );
ret.setProperty( "property3", _complex.getEmbEntity() );
return ret;
}
public static UserData fromEntity( Entity ent ) {
UserData ret = new UserData();
ret._integerval = (Integer)ent.getProperty("property1");
ret._stringval = (String)ent.getProperty("property2");
ret._complex.fromEmbEntity( (EmbeddedEntity)ent.getProperty("property3") );
return ret;
}
}