内存缓存中的实体键是否与数据存储中的相同

Is entity key in memcache the same as in datastore

当我像这样设置内存缓存实体的键时

 syncCache.put(entityKey, entity);

其中

 entityKey = entity.getKey();
 entityKeyIdFromDataStore = entityKey.getId();

然后我检索存储在内存缓存中的实体并检索密钥 id

 entity = (Entity) syncCache.get(entityKey);
 entityKeyIdFromCache = entity.getKey().getId();

那么 entityKeyIdFromDataStore 和 entityKeyIdFromCache 会相同吗?

是的,它会是一样的。请注意,您可以使用 ID 而不是密钥:

syncCache.put(entityKey.getId(), entity);
entity = (Entity) syncCache.get(entityKey.getId());

ID 比密钥短得多。当然,这只适用于没有父实体的实体,或者如果您在 Memcache 中只存储一种实体。