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/langgraph-checkpointInMemoryStore
Class●Since v0.0

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

Constructors

Properties

Methods

Inherited fromBaseStore

Methods

Mbatch→ Promise<OperationResults<Op>>
—

Execute multiple operations in a single batch.

Mdelete→ Promise<void>
—

Delete an item from the store.

Mget→ Promise<Item | null>
—

Retrieve a single item by its namespace and key.

View source on GitHub
M
listNamespaces
→ 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.

Example

constructor
constructor→ InMemoryStore
property
indexConfig: IndexConfig | undefined
method
batch→ Promise<OperationResults<Op>>
method
delete→ Promise<void>
method
get→ Promise<Item | null>
method
listNamespaces→ Promise<string[][]>
method
put→ Promise<void>
method
search→ Promise<SearchItem[]>
method
start→ void | Promise<void>
method
stop→ void | Promise<void>

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

Delete an item from the store.

Retrieve a single item by its namespace and key.

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

Store or update an item.

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

Start the store. Override if initialization is needed.

Stop the store. Override if cleanup is needed.

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" });