@Override
  public long decr(String key, int by, long def, int exp) {
    return mutateWithDefault(Mutator.decr, key, by, def, exp);
  }
Decrement the given counter, returning the new value.

Due to the way the memcached server operates on items, incremented and
decremented items will be returned as Strings with any operations that
return a value.

@param key the key
@param by the amount to decrement
@param def the default value (if the counter does not exist)
@param exp the expiration of this object
@return the new value, or -1 if we were unable to decrement or add
@throws OperationTimeoutException if the global operation timeout is
          exceeded
@throws IllegalStateException in the rare circumstance where queue is too
          full to accept any more requests
src/main/java/net/spy/memcached/MemcachedClient.java