# Freeze::BackgroundSaveEvictor

## Overview

### local interface BackgroundSaveEvictor extends Evictor

A background-save evictor is an evictor that saves updates asynchronously in a background thread.

## Operation Index

keep
  Lock this object in the evictor cache.
keepFacet
  Like keep, but with a facet.
release
  Release a lock acquired by keep.
releaseFacet
  Like release, but with a facet.

## Operations

### void keep(::Ice::Identity id)

Lock this object in the evictor cache. This lock can be released by release or `remove`. release releases only one lock, while `remove` releases all the locks.

#### Parameters

id
  The identity of the Ice object.

#### Exceptions

::Ice::NotRegisteredException
  Raised if this identity was not registered with the evictor.
DatabaseException
  Raised if a database failure occurred.

#### See Also

keepFacet
release
`remove`

### void keepFacet(::Ice::Identity id, string facet)

Like keep, but with a facet. Calling `keep(id)` is equivalent to calling keepFacet with an empty facet.

#### Parameters

id
  The identity of the Ice object.
facet
  The facet. An empty facet means the default facet.

#### Exceptions

::Ice::NotRegisteredException
  Raised if this identity was not registered with the evictor.
DatabaseException
  Raised if a database failure occurred.

#### See Also

keep
releaseFacet
`removeFacet`

### void release(::Ice::Identity id)

Release a lock acquired by keep. Once all the locks on an object have been released, the object is again subject to the normal eviction strategy.

#### Parameters

id
  The identity of the Ice object.

#### Exceptions

::Ice::NotRegisteredException
  Raised if this object was not locked with {link #keep} or keepFacet.

#### See Also

keepFacet
release

### void releaseFacet(::Ice::Identity id, string facet)

Like release, but with a facet. Calling `release(id)` is equivalent to calling releaseFacet with an empty facet.

#### Parameters

id
  The identity of the Ice object.
facet
  The facet. An empty facet means the default facet.

#### Exceptions

::Ice::NotRegisteredException
  Raised if this object was not locked with keep or keepFacet.

#### See Also

keep
releaseFacet