# `cache`

#### This implements the instance caching in SQLObject. Caching is relatively aggressive. All objects are retained so long as they are in memory, by keeping weak references to objects. We also keep other objects in a cache that doesn't allow them to be garbage collected (unless caching is turned off).

The cache module is accessible via the `sqlobject` module.

## Attributes

#### a `__package__`

    'sqlobject'

## Classes

#### C `CacheFactory(...)` ...

CacheFactory caches object creation. Each object should be referenced by a single hashable ID (note tuples of hashable values are also hashable).

This class contains 15 members.

#### C `CacheSet(...)` ...

A CacheSet is used to collect and maintain a series of caches. In SQLObject, there is one CacheSet per connection, and one Cache in the CacheSet for each class, since IDs are not unique across classes. It contains methods similar to Cache, but that take a `cls` argument.

This class contains 17 members.

See the source for more information.