LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
LangGraph
  • Web
  • Channels
  • Pregel
  • Prebuilt
  • Remote
LangGraph SDK
  • Client
  • Auth
  • React
  • Logging
  • React Ui
  • Server
LangGraph Checkpoint
LangGraph Checkpoint MongoDB
LangGraph Checkpoint Postgres
  • Store
LangGraph Checkpoint Redis
  • Shallow
  • Store
LangGraph Checkpoint SQLite
LangGraph Checkpoint Validation
  • Cli
LangGraph API
LangGraph CLI
LangGraph CUA
  • Utils
LangGraph Supervisor
LangGraph Swarm
⌘I

LangChain Assistant

Ask a question to get started

Enter to send•Shift+Enter new line

Menu

LangGraph
WebChannelsPregelPrebuiltRemote
LangGraph SDK
ClientAuthReactLoggingReact UiServer
LangGraph Checkpoint
LangGraph Checkpoint MongoDB
LangGraph Checkpoint Postgres
Store
LangGraph Checkpoint Redis
ShallowStore
LangGraph Checkpoint SQLite
LangGraph Checkpoint Validation
Cli
LangGraph API
LangGraph CLI
LangGraph CUA
Utils
LangGraph Supervisor
LangGraph Swarm
Language
Theme
JavaScript@langchain/langgraphwebInMemoryStore
Class●Since v0.3

InMemoryStore

In-memory key-value store with optional vector search.

A lightweight store implementation using JavaScript Maps. Supports basic key-value operations and vector search when configured with embeddings.

Copy
class InMemoryStore

Bases

BaseStore

Used in Docs

  • Customize Deep Agents
  • Long-term memory
  • Long-term memory
  • Memory
  • Memory overview

Example

Copy
// Basic key-value storage
const store = new InMemoryStore();
await store.put(["users", "123"], "prefs", { theme: "dark" });
const item = await store.get(["users", "123"], "prefs");

// Vector search with embeddings
import { OpenAIEmbeddings } from "@langchain/openai";
const store = new InMemoryStore({
  index: {
    dims: 1536,
    embeddings: new OpenAIEmbeddings({ modelName: "text-embedding-3-small" }),
  }
});

// Store documents
await store.put(["docs"], "doc1", { text: "Python tutorial" });
await store.put(["docs"], "doc2", { text: "TypeScript guide" });

// Search by similarity
const results = await store.search(["docs"], { query: "python programming" });

Constructors

constructor
constructor

Properties

property
indexConfig: IndexConfig | undefined

Methods

method
batch→ Promise<OperationResults<Op>>

Execute multiple operations in a single batch. This is more efficient than executing operations individually.

method
delete→ Promise<void>

Delete an item from the store.

method
get→ Value

Return the current value of the channel.

method
listNamespaces→ Promise<string[][]>

List and filter namespaces in the store. Used to explore data organization and navigate the namespace hierarchy.

method
put→ Promise<void>

Store or update an item.

method
search→ Promise<Item[]>

Search for items within a namespace prefix. Supports both metadata filtering and vector similarity search.

method
start

Start the store. Override if initialization is needed.

method
stop→ Promise<void>

Stop the store. Override if cleanup is needed.

Inherited fromBaseStore

Methods

Mbatch→ Promise<OperationResults<Op>>
—

Execute multiple operations in a single batch.

Mdelete→ Promise<void>
—

Delete an item from the store.

Mget→ Value
—

Return the current value of the channel.

MlistNamespaces→ Promise<string[][]>
—

List and filter namespaces in the store.

Mput→ Promise<void>
—

Store or update an item.

Msearch→ Promise<Item[]>
—

Search for items within a namespace prefix.

Mstart
—

Start the store. Override if initialization is needed.

Mstop→ Promise<void>
—

Stop the store. Override if cleanup is needed.

View source on GitHub