DiskCache

class DiskCache(AbstractCache)

Implementation of AbstractCache using the DiskCache library.

This class provides a concrete implementation of the AbstractCache interface using the diskcache library for caching data on disk.

Attributes:

  • cache diskcache.Cache - The DiskCache instance used for caching.

Methods:

init(self, seed): Initializes the DiskCache with the given seed. get(self, key, default=None): Retrieves an item from the cache. set(self, key, value): Sets an item in the cache.

  • close(self) - Closes the cache.
  • __enter__(self) - Context management entry. exit(self, exc_type, exc_value, traceback): Context management exit.

__init__

def __init__(seed: Union[str, int])

Initialize the DiskCache instance.

Arguments:

  • seed Union[str, int] - A seed or namespace for the cache. This is used to create a unique storage location for the cache data.

get

def get(key: str, default: Optional[Any] = None) -> Optional[Any]

Retrieve an item from the cache.

Arguments:

  • key str - The key identifying the item in the cache.
  • default optional - The default value to return if the key is not found. Defaults to None.

Returns:

The value associated with the key if found, else the default value.

set

def set(key: str, value: Any) -> None

Set an item in the cache.

Arguments:

  • key str - The key under which the item is to be stored.
  • value - The value to be stored in the cache.

close

def close() -> None

Close the cache.

Perform any necessary cleanup, such as closing file handles or releasing resources.

__enter__

def __enter__() -> Self

Enter the runtime context related to the object.

Returns:

  • self - The instance itself.

__exit__

def __exit__(exc_type: Optional[type[BaseException]],
             exc_value: Optional[BaseException],
             traceback: Optional[TracebackType]) -> None

Exit the runtime context related to the object.

Perform cleanup actions such as closing the cache.

Arguments:

  • exc_type - The exception type if an exception was raised in the context.
  • exc_value - The exception value if an exception was raised in the context.
  • traceback - The traceback if an exception was raised in the context.