缓存.redis缓存
RedisCache
class RedisCache(AbstractCache)
使用Redis数据库实现AbstractCache。
该类提供了AbstractCache接口的具体实现,使用Redis数据库进行数据缓存。
属性:
seed
Union[str, int] - 用于作为缓存键前缀的种子或命名空间。cache
redis.Redis - 用于缓存的Redis客户端。
方法:
init(self, seed, redis_url): 使用给定的seed和Redis URL初始化RedisCache。 _prefixed_key(self, key): 内部方法,用于获取命名空间的缓存键。 get(self, key, default=None): 从缓存中检索一个项目。 set(self, key, value): 在缓存中设置一个项目。
close(self)
- 关闭Redis客户端。__enter__(self)
- 上下文管理进入。 exit(self, exc_type, exc_value, traceback): 上下文管理退出。
__init__
def __init__(seed: Union[str, int], redis_url: str)
初始化RedisCache实例。
参数:
seed
Union[str, int] - 缓存的种子或命名空间。这用作所有缓存键的前缀。redis_url
str - Redis服务器的URL。
获取
def get(key: str, default: Optional[Any] = None) -> Optional[Any]
从Redis缓存中检索一个项目。
参数:
key
str - 用于标识缓存中项目的键。default
可选 - 如果未找到键,则返回的默认值。默认为None。
返回:
如果找到与键关联的反序列化值,则返回该值,否则返回默认值。
设置
def set(key: str, value: Any) -> None
在Redis缓存中设置一个项目。
参数:
key
str - 用于存储项的键。value
- 要存储在缓存中的值。
注意:
该值在使用pickle序列化后存储在Redis中。
关闭
def close() -> None
关闭 Redis 客户端。
执行任何必要的清理工作,例如关闭网络连接。
__enter__
def __enter__() -> Self
进入与对象相关的运行时上下文。
返回:
self
- 实例本身。
__exit__
def __exit__(exc_type: Optional[Type[BaseException]],
exc_val: Optional[BaseException],
exc_tb: Optional[TracebackType]) -> None
退出与对象相关的运行时上下文。
执行清理操作,例如关闭 Redis 客户端。
参数:
exc_type
- 如果在上下文中引发了异常,那么这是异常的类型。exc_value
- 如果在上下文中引发了异常,则为异常值。traceback
- 如果在上下文中引发了异常,则为回溯信息。