     else
       @_lruQueue   = null
     return @
-  clean: @::clear
   reset: (options)->
     if options > 0
       @maxCapacity   = options

  # thisArg: Value to use as this when executing callback.
  forEach: (callback, thisArg)->
    setImmediate @clearExpires if @cleanInterval > 0 and Date.now() - @lastCleanTime >= @cleanInterval
    for k,item of @_cacheLRU
      callback.call thisArg, item.value, k, @ if not @isExpired item
    return
  clearExpires: ->
    for k,v of @_cacheLRU

lruQueue        = require('./lru-queue')
emitter         = require('event-emitter').methods
setImmediate    = setImmediate || process.nextTick

