def memcache_get(self, key, for_cas=False, namespace=None, use_cache=False,<EOL>deadline=None):
if not isinstance(key, basestring):<EOL><INDENT>raise TypeError('<STR_LIT>' % key)<EOL><DEDENT>if not isinstance(for_cas, bool):<EOL><INDENT>raise TypeError('<STR_LIT>' % for_cas)<EOL><DEDENT>if namespace is None:<EOL><INDENT>namespace = namespace_manager.get_namespace()<EOL><DEDENT>options = (for_cas, namespace, deadline)<EOL>batcher = self.memcache_get_batcher<EOL>if use_cache:<EOL><INDENT>return batcher.add_once(key, options)<EOL><DEDENT>else:<EOL><INDENT>return batcher.add(key, options)<EOL><DEDENT>
An auto-batching wrapper for memcache.get() or .get_multi().

        Args:
          key: Key to set.  This must be a string; no prefix is applied.
          for_cas: If True, request and store CAS ids on the Context.
          namespace: Optional namespace.
          deadline: Optional deadline for the RPC.

        Returns:
          A Future (!) whose return value is the value retrieved from
          memcache, or None.