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]¶
BaseStore implementation using Redis as the underlying store.
Examples
Create a RedisStore instance and perform operations on it:
# 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) # 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
Initialize the RedisStore with a Redis connection.
Must provide either a Redis client or a redis_url with optional client_kwargs.
- Parameters
client (Any) – A Redis connection instance
redis_url (Optional[str]) – redis url
client_kwargs (Optional[dict]) – Keyword arguments to pass to the Redis client
ttl (Optional[int]) – time to expire keys in seconds if provided, if None keys will never expire
namespace (Optional[str]) – if provided, all keys will be prefixed with this namespace
Methods
__init__
(*[, client, redis_url, ...])Initialize the RedisStore with a Redis connection.
amdelete
(keys)Delete the given keys and their associated values.
amget
(keys)Get the values associated with the given keys.
amset
(key_value_pairs)Set the values for the given keys.
ayield_keys
(*[, prefix])Get an iterator over keys that match the given prefix.
mdelete
(keys)Delete the given keys.
mget
(keys)Get the values associated with the given keys.
mset
(key_value_pairs)Set the given key-value pairs.
yield_keys
(*[, prefix])Yield keys in the store.
- __init__(*, client: Any = None, redis_url: Optional[str] = None, client_kwargs: Optional[dict] = None, ttl: Optional[int] = None, namespace: Optional[str] = None) None [source]¶
Initialize the RedisStore with a Redis connection.
Must provide either a Redis client or a redis_url with optional client_kwargs.
- Parameters
client (Any) – A Redis connection instance
redis_url (Optional[str]) – redis url
client_kwargs (Optional[dict]) – Keyword arguments to pass to the Redis client
ttl (Optional[int]) – time to expire keys in seconds if provided, if None keys will never expire
namespace (Optional[str]) – if provided, all keys will be prefixed with this namespace
- Return type
None
- async amdelete(keys: Sequence[K]) None ¶
Delete the given keys and their associated values.
- Parameters
keys (Sequence[K]) – A sequence of keys to delete.
- Return type
None
- async amget(keys: Sequence[K]) List[Optional[V]] ¶
Get the values associated with the given keys.
- Parameters
keys (Sequence[K]) – A sequence of keys.
- Returns
A sequence of optional values associated with the keys. If a key is not found, the corresponding value will be None.
- Return type
List[Optional[V]]
- async amset(key_value_pairs: Sequence[Tuple[K, V]]) None ¶
Set the values for the given keys.
- Parameters
key_value_pairs (Sequence[Tuple[K, V]]) – A sequence of key-value pairs.
- Return type
None
- async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]] ¶
Get an iterator over keys that match the given prefix.
- Parameters
prefix (str) – The prefix to match.
- Returns
An iterator over keys that match the given prefix.
This method is allowed to return an iterator over either K or str depending on what makes more sense for the given store.
- Return type
Iterator[K | str]
- mdelete(keys: Sequence[str]) None [source]¶
Delete the given keys.
- Parameters
keys (Sequence[str]) –
- Return type
None
- mget(keys: Sequence[str]) List[Optional[bytes]] [source]¶
Get the values associated with the given keys.
- Parameters
keys (Sequence[str]) –
- Return type
List[Optional[bytes]]