diff --git a/extensions/cache-memcache/src/main/java/org/qi4j/cache/memcache/package.html b/extensions/cache-memcache/src/main/java/org/qi4j/cache/memcache/package.html new file mode 100644 index 000000000..bfd721d80 --- /dev/null +++ b/extensions/cache-memcache/src/main/java/org/qi4j/cache/memcache/package.html @@ -0,0 +1,23 @@ + +
+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 cachecacheInstanceId
is an autogenerated cache instance identifierkey
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. +
+ +