cosmos_db_cache
CosmosDBCache
class CosmosDBCache(AbstractCache)
使用 Azure Cosmos DB NoSQL API 同步实现的 AbstractCache。
这个类提供了使用 Azure Cosmos DB 缓存数据的具体实现,支持同步操作。
属性:
seed
Union[str, int] - 作为分区键使用的种子或命名空间。client
CosmosClient - 用于缓存的 Cosmos DB 客户端。container
- 用于缓存的容器实例。
__init__
def __init__(seed: Union[str, int], cosmosdb_config: CosmosDBConfig)
初始化 CosmosDBCache 实例。
参数:
seed
Union[str, int] - 用作缓存的种子或命名空间,作为分区键使用。connection_string
str - Cosmos DB 账户的连接字符串。container_id
str - 用于缓存的容器 ID。client
Optional[CosmosClient] - 用于缓存的现有 CosmosClient 实例。
create_cache
@classmethod
def create_cache(cls, seed: Union[str, int], cosmosdb_config: CosmosDBConfig)
基于提供的配置创建 CosmosDBCache 实例的工厂方法。 此方法决定是使用现有的 CosmosClient 还是创建一个新的。
get
def get(key: str, default: Optional[Any] = None) -> Optional[Any]
从 Cosmos DB 缓存中获取一个项目。
参数:
key
str - 在缓存中标识项目的键。default
optional - 如果未找到键,则返回的默认值。
返回值:
如果找到键,则返回与键关联的反序列化值;否则返回默认值。
set
def set(key: str, value: Any) -> None
在 Cosmos DB 缓存中设置一个项目。
参数:
key
str - 要存储项目的键。value
- 要存储在缓存中的值。
注意:
在存储之前,该值将使用 pickle 进行序列化。
close
def close() -> None
关闭 Cosmos DB 客户端。
执行任何必要的清理操作,例如关闭网络连接。
__enter__
def __enter__()
上下文管理入口。
返回值:
self
- 实例本身。
__exit__
def __exit__(exc_type: Optional[type], exc_value: Optional[Exception],
traceback: Optional[Any]) -> None
上下文管理退出。
执行清理操作,例如关闭 Cosmos DB 客户端。