# Class Ocsigen_cache.Make.cache

    class cache : (A.key -> A.value Lwt.t) -> ?timer:float -> int -> object .. end

`new cache finder ?timer size` creates a cache object where `finder` is the function responsible for retrieving non-cached data, `timer` (if any) is the life span of cached values (in seconds) (values in the cache are removed after their time is up) and `size` is the upper bound to the number of simultaneoulsy cached elements.

Whenever a value is found (using `find` method), it's lifespan is set to `timer` (or not if the cache is not time bounded). If the value was already cached, it's lifespan is reset to `timer`.

Using `timer` allow one to create a cache bounded both in space and time. It is to be noted that real lifespan of values is always slightly greater than `timer`.

    method find : A.key -> A.value Lwt.t

Find the cached value associated to the key, or binds this value in the cache using the function `finder` passed as argument to `create`, and returns this value

    method find_in_cache : A.key -> A.value

Find the cached value associated to the key. Raises `Not_found` if the key is not present in the cache

    method remove : A.key -> unit

    method add : A.key -> A.value -> unit

    method clear : unit -> unit

    method size : int