AI生成代码
This commit is contained in:
@@ -1,11 +1,109 @@
|
||||
# 存储接口
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
class BaseStorage:
|
||||
def save(self, key: str, value):
|
||||
|
||||
class BaseStorage(ABC):
|
||||
"""
|
||||
存储接口抽象基类
|
||||
定义所有存储模块需要实现的基本方法
|
||||
"""
|
||||
|
||||
@abstractmethod
|
||||
def save(self, key: str, value: Any) -> bool:
|
||||
"""
|
||||
保存数据
|
||||
|
||||
Args:
|
||||
key: 键
|
||||
value: 值
|
||||
|
||||
Returns:
|
||||
bool: 保存是否成功
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
def load(self, key: str, default=None):
|
||||
@abstractmethod
|
||||
def load(self, key: str, default: Any = None) -> Any:
|
||||
"""
|
||||
加载数据
|
||||
|
||||
Args:
|
||||
key: 键
|
||||
default: 默认值
|
||||
|
||||
Returns:
|
||||
Any: 加载的数据
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
def delete(self, key: str):
|
||||
@abstractmethod
|
||||
def delete(self, key: str) -> bool:
|
||||
"""
|
||||
删除数据
|
||||
|
||||
Args:
|
||||
key: 要删除的键
|
||||
|
||||
Returns:
|
||||
bool: 删除是否成功
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def exists(self, key: str) -> bool:
|
||||
"""
|
||||
检查键是否存在
|
||||
|
||||
Args:
|
||||
key: 键
|
||||
|
||||
Returns:
|
||||
bool: 键是否存在
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def list_keys(self) -> List[str]:
|
||||
"""
|
||||
列出所有键
|
||||
|
||||
Returns:
|
||||
List[str]: 所有键的列表
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def clear(self) -> bool:
|
||||
"""
|
||||
清空所有数据
|
||||
|
||||
Returns:
|
||||
bool: 清空是否成功
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def save_batch(self, data: Dict[str, Any]) -> bool:
|
||||
"""
|
||||
批量保存数据
|
||||
|
||||
Args:
|
||||
data: 要保存的数据字典
|
||||
|
||||
Returns:
|
||||
bool: 保存是否成功
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def load_batch(self, keys: List[str]) -> Dict[str, Any]:
|
||||
"""
|
||||
批量加载数据
|
||||
|
||||
Args:
|
||||
keys: 要加载的键列表
|
||||
|
||||
Returns:
|
||||
Dict[str, Any]: 加载的数据字典
|
||||
"""
|
||||
raise NotImplementedError
|
||||
Reference in New Issue
Block a user