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]

mdelete(keys: Sequence[str]) None[source]#

删除给定的键。

Parameters:

keys (序列[字符串])

Return type:

mget(keys: Sequence[str]) List[bytes | None][来源]#

获取与给定键关联的值。

Parameters:

keys (序列[字符串])

Return type:

列表[字节 | 无]

mset(key_value_pairs: Sequence[Tuple[str, bytes]]) None[source]#

设置给定的键值对。

Parameters:

key_value_pairs (Sequence[Tuple[str, bytes]])

Return type:

yield_keys(*, prefix: str | None = None) Iterator[str][source]#

在存储中生成键。

Parameters:

prefix (str | None)

Return type:

迭代器[str]

使用 RedisStore 的示例