langchain_community.storage.redis.RedisStore

class langchain_community.storage.redis.RedisStore(*, client: Any = None, redis_url: Optional[str] = None, client_kwargs: Optional[dict] = None, ttl: Optional[int] = None, namespace: Optional[str] = None)[source]

基于Redis作为底层存储的BaseStore实现。

示例:

创建一个RedisStore实例并对其执行操作:

# 使用Redis连接实例化RedisStore
from langchain_community.storage import RedisStore
from langchain_community.utilities.redis import get_client

client = get_client('redis://localhost:6379')
redis_store = RedisStore(client)

# 为键设置值
redis_store.mset([("key1", b"value1"), ("key2", b"value2")])

# 获取键的值
values = redis_store.mget(["key1", "key2"])
# [b"value1", b"value2"]

# 删除键
redis_store.mdelete(["key1"])

# 遍历键
for key in redis_store.yield_keys():
    print(key)  # noqa: T201

使用Redis连接初始化RedisStore。

必须提供Redis客户端或带有可选client_kwargs的redis_url。

参数:

client:Redis连接实例 redis_url:redis URL client_kwargs:传递给Redis客户端的关键字参数 ttl:如果提供,以秒为单位设置键的过期时间,如果为None,则键永远不会过期 namespace:如果提供,所有键都将以此命名空间为前缀

Methods

__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])

在存储中生成密钥。

Parameters
  • client (Any) –

  • redis_url (Optional[str]) –

  • client_kwargs (Optional[dict]) –

  • ttl (Optional[int]) –

  • namespace (Optional[str]) –

Return type

None

__init__(*, client: Any = None, redis_url: Optional[str] = None, client_kwargs: Optional[dict] = None, ttl: Optional[int] = None, namespace: Optional[str] = None) None[source]

使用Redis连接初始化RedisStore。

必须提供Redis客户端或带有可选client_kwargs的redis_url。

参数:

client:Redis连接实例 redis_url:redis URL client_kwargs:传递给Redis客户端的关键字参数 ttl:如果提供,以秒为单位设置键的过期时间,如果为None,则键永远不会过期 namespace:如果提供,所有键都将以此命名空间为前缀

Parameters
  • client (Any) –

  • redis_url (Optional[str]) –

  • client_kwargs (Optional[dict]) –

  • ttl (Optional[int]) –

  • namespace (Optional[str]) –

Return type

None

async amdelete(keys: Sequence[K]) None

删除给定的键及其关联的值。

参数:

keys(Sequence[K]):要删除的键的序列。

Parameters

keys (Sequence[K]) –

Return type

None

async amget(keys: Sequence[K]) List[Optional[V]]

获取与给定键相关联的值。

参数:

keys(Sequence[K]):键的序列。

返回:

与键相关联的可选值序列。 如果未找到键,则相应的值将为None。

Parameters

keys (Sequence[K]) –

Return type

List[Optional[V]]

async amset(key_value_pairs: Sequence[Tuple[K, V]]) None

设置给定键的值。

参数:

key_value_pairs(Sequence[Tuple[K,V]]):键值对的序列。

Parameters

key_value_pairs (Sequence[Tuple[K, V]]) –

Return type

None

async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]]

获取与给定前缀匹配的键的迭代器。

参数:

prefix(str):要匹配的前缀。

返回:

Iterator[K | str]:一个迭代器,用于匹配给定前缀的键。

该方法允许返回一个K或str类型的迭代器,具体取决于给定存储的情况。

Parameters

prefix (Optional[str]) –

Return type

Union[AsyncIterator[K], AsyncIterator[str]]

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

删除给定的键。

Parameters

keys (Sequence[str]) –

Return type

None

mget(keys: Sequence[str]) List[Optional[bytes]][source]

获取与给定键相关联的值。

Parameters

keys (Sequence[str]) –

Return type

List[Optional[bytes]]

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

设置给定的键值对。

Parameters

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

Return type

None

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

在存储中生成密钥。

Parameters

prefix (Optional[str]) –

Return type

Iterator[str]

Examples using RedisStore