InMemoryStore#

class langchain_core.stores.InMemoryStore[source]#

In-memory store for any type of data.

store#

The underlying dictionary that stores the key-value pairs.

Type:

Dict[str, Any]

Examples

from langchain.storage import InMemoryStore

store = InMemoryStore()
store.mset([('key1', 'value1'), ('key2', 'value2')])
store.mget(['key1', 'key2'])
# ['value1', 'value2']
store.mdelete(['key1'])
list(store.yield_keys())
# ['key2']
list(store.yield_keys(prefix='k'))
# ['key2']

Initialize an empty store.

Methods

__init__()

Initialize an empty store.

amdelete(keys)

Async delete the given keys and their associated values.

amget(keys)

Async get the values associated with the given keys.

amset(key_value_pairs)

Async set the values for the given keys.

ayield_keys([prefix])

Async get an async iterator over keys that match the given prefix.

mdelete(keys)

Delete the given keys and their associated values.

mget(keys)

Get the values associated with the given keys.

mset(key_value_pairs)

Set the values for the given keys.

yield_keys([prefix])

Get an iterator over keys that match the given prefix.

__init__() None#

Initialize an empty store.

Return type:

None

async amdelete(keys: Sequence[str]) None#

Async delete the given keys and their associated values.

Parameters:

keys (Sequence[str]) – A sequence of keys to delete.

Return type:

None

async amget(keys: Sequence[str]) list[V | None]#

Async get the values associated with the given keys.

Parameters:

keys (Sequence[str]) – 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[V | None]

async amset(key_value_pairs: Sequence[tuple[str, V]]) None#

Async set the values for the given keys.

Parameters:

key_value_pairs (Sequence[Tuple[str, V]]) – A sequence of key-value pairs.

Returns:

None

Return type:

None

async ayield_keys(prefix: str | None = None) AsyncIterator[str]#

Async get an async iterator over keys that match the given prefix.

Parameters:

prefix (str, optional) – The prefix to match. Defaults to None.

Yields:

AsyncIterator[str] – An async iterator over keys that match the given prefix.

Return type:

AsyncIterator[str]

mdelete(keys: Sequence[str]) None#

Delete the given keys and their associated values.

Parameters:

keys (Sequence[str]) – A sequence of keys to delete.

Return type:

None

mget(keys: Sequence[str]) list[V | None]#

Get the values associated with the given keys.

Parameters:

keys (Sequence[str]) – 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[V | None]

mset(key_value_pairs: Sequence[tuple[str, V]]) None#

Set the values for the given keys.

Parameters:

key_value_pairs (Sequence[Tuple[str, V]]) – A sequence of key-value pairs.

Returns:

None

Return type:

None

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

Get an iterator over keys that match the given prefix.

Parameters:

prefix (str, optional) – The prefix to match. Defaults to None.

Yields:

Iterator[str] – An iterator over keys that match the given prefix.

Return type:

Iterator[str]

Examples using InMemoryStore