anchor.diff:    @override
     Future setPackageData(String package, List<int> data) {
       _logger.info('memcache["$package"] setting to new data');
  -    return _ignoreErrors(
  -        memcache.set(_packageKey(package), data, expiration: EXPIRATION));
  +    return _ignoreErrors(_memcache.set(_packageKey(package), data,
  +        expiration: _cacheExpiration));
     }
   
     @override
     Future<String> getUIPackagePage(String package, String version) async {
       final result = await _ignoreErrors(
  -        memcache.get(_packageUIKey(package, version), asBinary: true));
  +        _memcache.get(_packageUIKey(package, version), asBinary: true));
   
       if (result != null) {
         _logger.info('memcache["$package"] rendered UI found');
  
positive.code:   Future setUIIndexPage(String content) async {
      _logger.info('memcache[index-page] setting to new rendered UI data');
      await _ignoreErrors(
          memcache.set(INDEX_PAGE_KEY, content, expiration: EXPIRATION));
    }
  
    String _packageKey(String package) => '$keyPrefix$package';
  
    String _packageUIKey(String package, String version) {
      if (version == null) return '$uiKeyPrefix$package';
      return '$uiKeyPrefix$package**$version';
    }
  
    // We are ignoring any memcache errors and just return `null` in this case.
  
negative.code: 
  /// Uses a [Memache] to set/get/invalidate metadata for packages.
  class AppEnginePackageMemcache implements PackageCache, UIPackageCache {
    static const Duration _cacheExpiration = const Duration(minutes: 10);
  
    final Memcache _memcache;
    final String _indexKey;
    final String _keyPrefix;
    final String _uiKeyPrefix;
  
    static String _prefixWithNamespace(String prefix, String namespace) =>
        (namespace == null || namespace.isEmpty)
            ? prefix
            : 'ns_${namespace}_${prefix}';
  
    AppEnginePackageMemcache(this._memcache, String namespace)
        : _keyPrefix = _prefixWithNamespace('package_json_', namespace),
          _uiKeyPrefix = _prefixWithNamespace('package_ui_', namespace),
          _indexKey = _prefixWithNamespace('pub_index', namespace);
  
    @override
    Future<List<int>> getPackageData(String package) async {
      final result = await _ignoreErrors(
          _memcache.get(_packageKey(package), asBinary: true));
  
      if (result != null)
        _logger.info('memcache["$package"] found');
  