RedisStore#
- class langchain_community.storage.redis.RedisStore(*, client: Any = None, redis_url: str | None = None, client_kwargs: dict | None = None, ttl: int | None = None, namespace: str | None = None)[来源]#
使用Redis作为底层存储的BaseStore实现。
示例
创建一个 RedisStore 实例并对其进行操作:
# Instantiate the RedisStore with a Redis connection from langchain_community.storage import RedisStore from langchain_community.utilities.redis import get_client client = get_client('redis://localhost:6379') redis_store = RedisStore(client=client) # Set values for keys redis_store.mset([("key1", b"value1"), ("key2", b"value2")]) # Get values for keys values = redis_store.mget(["key1", "key2"]) # [b"value1", b"value2"] # Delete keys redis_store.mdelete(["key1"]) # Iterate over keys for key in redis_store.yield_keys(): print(key) # noqa: T201
使用Redis连接初始化RedisStore。
必须提供Redis客户端或带有可选client_kwargs的redis_url。
- Parameters:
client (Any) – 一个Redis连接实例
redis_url (str | None) – redis 地址
client_kwargs (dict | None) – 传递给Redis客户端的关键字参数
ttl (int | None) – 如果提供了,则以秒为单位设置键的过期时间, 如果为 None,则键永不过期
namespace (str | None) – 如果提供,所有键将以此命名空间为前缀
方法
__init__
(*[, client, redis_url, ...])使用Redis连接初始化RedisStore。
amdelete
(keys)异步删除给定的键及其关联的值。
amget
(keys)异步获取与给定键关联的值。
amset
(key_value_pairs)异步设置给定键的值。
ayield_keys
(*[, prefix])异步获取与给定前缀匹配的键的迭代器。
mdelete
(keys)删除给定的键。
mget
(keys)获取与给定键关联的值。
mset
(key_value_pairs)设置给定的键值对。
yield_keys
(*[, prefix])生成存储中的键。
- __init__(*, client: Any = None, redis_url: str | None = None, client_kwargs: dict | None = None, ttl: int | None = None, namespace: str | None = None) None [源代码]#
使用Redis连接初始化RedisStore。
必须提供Redis客户端或带有可选client_kwargs的redis_url。
- Parameters:
client (Any) – 一个Redis连接实例
redis_url (str | None) – redis 地址
client_kwargs (dict | None) – 传递给Redis客户端的关键字参数
ttl (int | None) – 如果提供了,则以秒为单位设置键的过期时间, 如果为 None,则键永不过期
namespace (str | None) – 如果提供,所有键将以此命名空间为前缀
- Return type:
无
- async amdelete(keys: Sequence[K]) None #
异步删除给定的键及其关联的值。
- Parameters:
keys (Sequence[K]) – 要删除的键序列。
- Return type:
无
- async amget(keys: Sequence[K]) list[V | None] #
异步获取与给定键关联的值。
- Parameters:
keys (Sequence[K]) – 一个键的序列。
- Returns:
与键相关联的一系列可选值。 如果未找到键,则对应的值将为None。
- Return type:
列表[V | 无]
- async amset(key_value_pairs: Sequence[tuple[K, V]]) None #
异步设置给定键的值。
- Parameters:
key_value_pairs (Sequence[Tuple[K, V]]) – 一个键值对的序列。
- Return type:
无
- async ayield_keys(*, prefix: str | None = None) AsyncIterator[K] | AsyncIterator[str] #
异步获取一个迭代器,用于遍历与给定前缀匹配的键。
- Parameters:
prefix (str) – 要匹配的前缀。
- Yields:
Iterator[K | str] – 一个遍历与给定前缀匹配的键的迭代器。 此方法允许返回一个遍历 K 或 str 的迭代器,具体取决于给定存储的更有意义的方式。
- Return type:
AsyncIterator[K] | AsyncIterator[str]
- mget(keys: Sequence[str]) List[bytes | None] [来源]#
获取与给定键关联的值。
- Parameters:
keys (序列[字符串])
- Return type:
列表[字节 | 无]
使用 RedisStore 的示例