## Memcache EntityStore CachePool.

Memcache has no namespace support. In addition to that, the protocol disallow key listing.

The CachePool contract is to drop a cache once all of its references have been returned.

Therefore, all keys are prefixed, that way;

    cacheId.cacheInstanceId.key

- `cacheId` is the identity of the requested cache
- `cacheInstanceId` is an autogenerated cache instance identifier
- `key` is the original key

In other words and for a given `cacheId`, once all references of the Cache are returned to the CachePool, the next `fetchCache(..)` invocation will generate a new Cache instance identifier and hence use different prefixed keys.

All this allow the Memcache EntityStore CachePool to conform to the CachePool contract despite limitations of the Memcache protocol.