# `Dagger.EngineCache`
[🔗](https://github.com/dagger/dagger/blob/v0.21.8/sdk/elixir/lib/dagger/gen/engine_cache.ex#L2)

A cache storage for the Dagger engine

# `t`

```elixir
@type t() :: %Dagger.EngineCache{client: term(), query_builder: term()}
```

# `entry_set`

```elixir
@spec entry_set(t(), [{:key, String.t() | nil}]) :: Dagger.EngineCacheEntrySet.t()
```

The current set of entries in the cache

# `id`

```elixir
@spec id(t()) :: {:ok, String.t()} | {:error, term()}
```

A unique identifier for this EngineCache.

# `max_used_space`

```elixir
@spec max_used_space(t()) :: {:ok, integer()} | {:error, term()}
```

The maximum bytes to keep in the cache without pruning.

# `min_free_space`

```elixir
@spec min_free_space(t()) :: {:ok, integer()} | {:error, term()}
```

The target amount of free disk space the garbage collector will attempt to leave.

# `prune`

```elixir
@spec prune(t(),
  use_default_policy: boolean() | nil,
  max_used_space: String.t() | nil,
  reserved_space: String.t() | nil,
  min_free_space: String.t() | nil,
  target_space: String.t() | nil
) :: :ok | {:error, term()}
```

Prune the cache of releaseable entries

# `reserved_space`

```elixir
@spec reserved_space(t()) :: {:ok, integer()} | {:error, term()}
```

The minimum amount of disk space this policy is guaranteed to retain.

# `target_space`

```elixir
@spec target_space(t()) :: {:ok, integer()} | {:error, term()}
```

The target number of bytes to keep when pruning.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
