1
0
forked from bot/app
LiteyukiBot/docs/dev/api/comm/storage.md

141 lines
1.8 KiB
Markdown
Raw Normal View History

2024-08-19 09:43:46 +08:00
---
title: liteyuki.comm.storage
order: 1
icon: laptop-code
category: API
---
### ***def*** `on_get(data: tuple[str, dict[str, Any]]) -> None`
### ***def*** `on_set(data: tuple[str, dict[str, Any]]) -> None`
### ***def*** `on_delete(data: tuple[str, dict[str, Any]]) -> None`
### ***def*** `on_get_all(data: tuple[str, dict[str, Any]]) -> None`
### ***class*** `KeyValueStore`
###   ***def*** `__init__(self) -> None`
 
###   ***def*** `set(self, key: str, value: Any) -> None`
2024-08-19 09:55:47 +08:00
 设置键值对
2024-08-19 09:43:46 +08:00
Args:
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
key: 键
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
value: 值
###   ***def*** `get(self, key: str, default: Optional[Any]) -> Optional[Any]`
2024-08-19 09:55:47 +08:00
 获取键值对
2024-08-19 09:43:46 +08:00
Args:
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
key: 键
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
default: 默认值
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
Returns:
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
Any: 值
###   ***def*** `delete(self, key: str, ignore_key_error: bool) -> None`
2024-08-19 09:55:47 +08:00
 删除键值对
2024-08-19 09:43:46 +08:00
Args:
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
key: 键
2024-08-19 09:55:47 +08:00
2024-08-19 09:43:46 +08:00
ignore_key_error: 是否忽略键不存在的错误
Returns:
###   ***def*** `get_all(self) -> dict[str, Any]`
2024-08-19 09:43:46 +08:00
2024-08-19 09:55:47 +08:00
 获取所有键值对
2024-08-19 09:43:46 +08:00
2024-08-19 09:55:47 +08:00
Returns:
2024-08-19 09:43:46 +08:00
2024-08-19 09:55:47 +08:00
dict[str, Any]: 键值对
### ***class*** `GlobalKeyValueStore`
2024-08-19 09:43:46 +08:00
2024-08-19 09:55:47 +08:00
###   ***@classmethod***
###   ***def*** `get_instance(cls: Any) -> None`
2024-08-19 09:43:46 +08:00
2024-08-19 09:55:47 +08:00
 
2024-08-19 09:43:46 +08:00
2024-08-19 09:55:47 +08:00
###   ***attr*** `_instance: None`
2024-08-19 09:43:46 +08:00
2024-08-19 09:55:47 +08:00
###   ***attr*** `_lock: threading.Lock()`
2024-08-19 09:43:46 +08:00
### ***var*** `key = data[1]['key']`
### ***var*** `default = data[1]['default']`
### ***var*** `recv_chan = data[1]['recv_chan']`
### ***var*** `key = data[1]['key']`
### ***var*** `value = data[1]['value']`
### ***var*** `key = data[1]['key']`
### ***var*** `recv_chan = data[1]['recv_chan']`
### ***var*** `lock = _get_lock(key)`
### ***var*** `lock = _get_lock(key)`
### ***var*** `recv_chan = Channel[Optional[Any]]('recv_chan')`
### ***var*** `lock = _get_lock(key)`
### ***var*** `recv_chan = Channel[dict[str, Any]]('recv_chan')`