title: Lightweight caching solution in Scala?
body: <p>I just wonder if there is any caching solution available in Scala.
  I'm looking for something like it is provided by Guava in Java.</p>
  
  <p>Should I use Guava too in Scala?
  Is there a wrapper / pimp in Scalaz or something similar?
  Any alternative more appropriate for Scala devs?</p>
  
  <p>What Guava provides:</p>
  
  <pre><code>LoadingCache&lt;Key, Graph&gt; CACHE= CacheBuilder.newBuilder()
         .maximumSize(1000)
         .expireAfterWrite(10, TimeUnit.MINUTES)
         .removalListener(MY_LISTENER)
         .build(
             new CacheLoader&lt;Key, Graph&gt;() {
               public Graph load(Key key) throws AnyException {
                 return createExpensiveGraph(key);
               }
             });
  
  Supplier&lt;Animal&gt; singleAnimalCache = Suppliers.memoizeWithExpiration(animalFromDbSupplier(), 365, TimeUnit.DAYS);
  </code></pre>
  
  <p>I need some basic cache management like in Guava.</p>