Cache

Deprecated since version 2.32: Use a HashTable instead

class Cache(*args, **kwargs)

A GCache allows sharing of complex data structures, in order to save system resources.

GCache uses keys and values. A GCache key describes the properties of a particular resource. A GCache value is the actual resource.

GCache has been marked as deprecated, since this API is rarely used and not very actively maintained.

Methods

class Cache
destroy() None

Frees the memory allocated for the Cache.

Note that it does not destroy the keys and values which were contained in the Cache.

Deprecated since version 2.32: Use a HashTable instead

insert(key: None) None

Gets the value corresponding to the given key, creating it if necessary. It first checks if the value already exists in the Cache, by using the key_equal_func function passed to new(). If it does already exist it is returned, and its reference count is increased by one. If the value does not currently exist, if is created by calling the value_new_func. The key is duplicated by calling key_dup_func and the duplicated key and value are inserted into the Cache.

Deprecated since version 2.32: Use a HashTable instead

Parameters:

key – a key describing a Cache object

key_foreach(func: Callable[[...], None], *user_data: Any) None

Calls the given function for each of the keys in the Cache.

NOTE func is passed three parameters, the value and key of a cache entry and the user_data. The order of value and key is different from the order in which foreach() passes key-value pairs to its callback function !

Deprecated since version 2.32: Use a HashTable instead

Parameters:
  • func – the function to call with each Cache key

  • user_data – user data to pass to the function

remove(value: None) None

Decreases the reference count of the given value. If it drops to 0 then the value and its corresponding key are destroyed, using the value_destroy_func and key_destroy_func passed to new().

Deprecated since version 2.32: Use a HashTable instead

Parameters:

value – the value to remove

Returns:

0 if the file was successfully removed, -1 if an error occurred

value_foreach(func: Callable[[...], None], *user_data: Any) None

Calls the given function for each of the values in the Cache.

Deprecated since version 2.10: The reason is that it passes pointers to internal data structures to func; use key_foreach() instead

Parameters:
  • func – the function to call with each Cache value

  • user_data – user data to pass to the function