scalacache

memoization

package memoization

Utilities for memoizing the results of method calls in a cache. The cache key is generated from the method arguments using a macro, so that you don't have to bother passing them manually.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. memoization
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class MemoizationConfig(toStringConvertor: MethodCallToStringConvertor = ...) extends Product with Serializable

  2. trait MethodCallToStringConvertor extends AnyRef

    Converts information about a method call to a String for use in a cache key

Value Members

  1. object Macros

  2. object MethodCallToStringConvertor

  3. macro def memoize[A](ttl: Duration)(f: ⇒ A)(implicit scalaCache: ScalaCache, flags: Flags): A

    Perform the given operation and memoize its result to a cache before returning it.

    Perform the given operation and memoize its result to a cache before returning it. If the result is already in the cache, return it without performing the operation.

    The result is stored in the cache with the given TTL. It will be evicted when the TTL is up.

    Note that if the result is currently in the cache, changing the TTL has no effect. TTL is only set once, when the result is added to the cache.

    A

    type of the value to be cached

    ttl

    Time To Live. How long the result should be stored in the cache.

    f

    function that returns some result. This result is the valued that will be cached.

    scalaCache

    cache configuration

    flags

    flags to customize ScalaCache behaviour

    returns

    the result, either retrieved from the cache or calculated by executing the function f

  4. macro def memoize[A](f: ⇒ A)(implicit scalaCache: ScalaCache, flags: Flags): A

    Perform the given operation and memoize its result to a cache before returning it.

    Perform the given operation and memoize its result to a cache before returning it. If the result is already in the cache, return it without performing the operation.

    The result is stored in the cache without a TTL, so it will remain until it is naturally evicted.

    A

    type of the value to be cached

    f

    function that returns some result. This result is the valued that will be cached.

    scalaCache

    cache configuration

    flags

    flags to customize ScalaCache behaviour

    returns

    the result, either retrieved from the cache or calculated by executing the function f

Inherited from AnyRef

Inherited from Any

Ungrouped