API docs for “spamfighter.interfaces.IExpirableStorage”

# Class s.i.IExpirableStorage(Interface):

Part of spamfighter.interfaces View Source View In Hierarchy

Ненадежное хранилище, в котором данные имеют ограниченный срок жизни. Хранилище хранит пары (ключ, значение).

Method | get | Получить значения ключа.
Method | set | Записать (перезаписать) значение ключа.
Method | add | Добавить ключ в хранилище.
Method | delete | Удалить ключ из хранилища.
Method | append | Дописать в конец значения ключа еще один элемент.
Method | incr | Увеличить значение ключа на единицу (тип значения - целое число).

def get(key): (source)
Получить значения ключа.

Если ключ не найден (не существует, потерян, истекло время жизни), возвращается исключение `KeyError`.

Parameters | key | ключ (type: `str` )
Returns | Deferred значение ключа, `str` или `int` (type: `twisted.internet.Deferred` )

def set(key, value, expire): (source)
Записать (перезаписать) значение ключа.

Parameters | key | ключ (type: `str` )
| value | значение (type: `str` или `int` )
| expire | время жизни ключа в секундах, 0 - хранить "вечно" (type: `int` )
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def add(key, value, expire): (source)
Добавить ключ в хранилище.

Операция аналогична `set`, но если ключ уже существует, будет возвращена ошибка `KeyError`.

Parameters | key | ключ (type: `str` )
| value | значение
| expire | время жизни ключа в секундах, 0 - хранить "вечно" (type: `int` )
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def delete(key): (source)
Удалить ключ из хранилища.

Если ключ не найден, возвращается исключение `KeyError`.

Parameters | key | ключ (type: `str` )
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def append(key, value): (source)
Дописать в конец значения ключа еще один элемент. Работает только над существующими ключами, если ключ не существует, будет возвращена ошибка `KeyError`.

Parameters | key | ключ (type: `str` )
| value | дописываемое значение
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def incr(key, value=1): (source)
Увеличить значение ключа на единицу (тип значения - целое число). Работает только над существующими ключами, если ключ не существует, будет возвращена ошибка `KeyError`.

Parameters | key | ключ (type: `str` )
| value | величина инкремента (type: `int` )
Returns | Deferred с новым значением ключа, `int` (type: `twisted.internet.Deferred` )