AbstractCache

class AbstractCache(Protocol)

This protocol defines the basic interface for cache operations. Implementing classes should provide concrete implementations for these methods to handle caching mechanisms.

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 network connections or releasing resources.

__enter__

def __enter__() -> Self

Enter the runtime context related to this object.

The with statement will bind this method’s return value to the target(s) specified in the as clause of the statement, if any.

__exit__

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

Exit the runtime context and close 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.