langchain_community.storage.redis.RedisStore

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

使用 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 客户端或带有可选客户kwargs的 redis_url。

参数
  • client (Any) – Redis 连接实例

  • redis_url (Optional[str]) – Redis URL

  • client_kwargs (Optional[dict]) – 传递给 Redis 客户端的键值参数

  • ttl (Optional[int]) – 如果提供,则以秒为单位过期键,如果为 None,则键将永不过期

  • namespace (Optional[str]) – 如果提供,则所有键都将使用此命名空间前缀

方法

__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: Optional[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 客户端或带有可选客户kwargs的 redis_url。

参数
  • client (可选) - Redis 连接实例

  • redis_url (Optional[str]) – Redis URL

  • client_kwargs (Optional[dict]) – 传递给 Redis 客户端的键值参数

  • ttl (Optional[int]) – 如果提供,则以秒为单位过期键,如果为 None,则键将永不过期

  • namespace (Optional[str]) – 如果提供,则所有键都将使用此命名空间前缀

返回类型

async amdelete(keys: Sequence[K]) None

异步删除给定的键及其相关值。

参数

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

返回类型

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

异步获取与给定键关联的值。

参数

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

返回值

与键相关联的可选值的序列。如果找不到键,对应的值将是 None。

返回类型

List[Optional[V]]

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

异步为给定的键设置值。

参数

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

返回类型

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

异步获取匹配指定前缀的所有键的迭代器。

参数

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

产生

Iterator[K | str] – 一个迭代器,遍历与给定前缀匹配的键。此方法允许返回一个基于给定的存储的 K 或 str 的迭代器。

返回类型

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

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

删除给定的键。

参数

keys (Sequence[str]) –

返回类型

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

获取与给定键关联的值。

参数

keys (Sequence[str]) –

返回类型

可选字节码列表

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

设置给定的键值对。

参数

key_value_pairs (序列(键值对)

返回类型

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

生成存储中的键。

参数

prefix (可选字符串) –

返回类型

字符串迭代器

使用RedisStore的示例