-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Checked other resources
- This is a bug, not a usage question. For questions, please use the LangChain Forum (https://forum.langchain.com/).
- I added a clear and detailed title that summarizes the issue.
- I read what a minimal reproducible example is (https://stackoverflow.com/help/minimal-reproducible-example).
- I included a self-contained, minimal example that demonstrates the issue INCLUDING all the relevant imports. The code run AS IS to reproduce the issue.
Example Code
from typing_extensions import TypedDict
from typing import Any
from langgraph.graph import StateGraph, START, END
from langgraph.types import CachePolicy
from langgraph.cache.redis import RedisCache
from redis.asyncio import Redis as AsyncRedis
from redis import Redis as SyncRedis
import asyncio
import os
class State(TypedDict):
test: bool
async def main() -> None:
host: Any = os.environ.get("REDIS_HOST")
port: Any = os.environ.get("REDIS_PORT")
password = os.environ.get("REDIS_PASSWORD")
# async redis does not work
redis = AsyncRedis(host=host, port=int(port), password=password)
# sync redis works
# redis = SyncRedis(host=host, port=int(port), password=password)
redis_cache = RedisCache(
redis=redis,
prefix="foo",
)
graph_builder = StateGraph(State)
graph_builder.add_node(
"foo",
lambda state: state,
cache_policy=CachePolicy(ttl=86400),
)
graph_builder.add_edge(START, "foo")
graph_builder.add_edge("foo", END)
graph = graph_builder.compile(cache=redis_cache)
await graph.ainvoke({"test": True})
print("OK")
asyncio.run(main())
Error Message and Stack Trace (if applicable)
Traceback (most recent call last):
File "/path/to/my/project/minimal.py", line 53, in <module>
asyncio.run(main())
~~~~~~~~~~~^^^^^^^^
File "/home/user/.local/share/uv/python/cpython-3.13.7-linux-x86_64-gnu/lib/python3.13/asyncio/runners.py", line 195, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "/home/user/.local/share/uv/python/cpython-3.13.7-linux-x86_64-gnu/lib/python3.13/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/home/user/.local/share/uv/python/cpython-3.13.7-linux-x86_64-gnu/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/path/to/my/project/minimal.py", line 48, in main
await graph.ainvoke({"test": True})
File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/pregel/main.py", line 3179, in ainvoke
async for chunk in self.astream(
...<29 lines>...
chunks.append(chunk)
File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/pregel/main.py", line 2995, in astream
for task in await loop.amatch_cached_writes():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/pregel/_loop.py", line 1266, in amatch_cached_writes
for key, values in (await self.cache.aget(tuple(cached))).items():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/cache/redis/__init__.py", line 82, in aget
return self.get(keys)
~~~~~~~~^^^^^^
File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/cache/redis/__init__.py", line 68, in get
for i, raw_value in enumerate(raw_values):
~~~~~~~~~^^^^^^^^^^^^
TypeError: 'coroutine' object is not iterable
<sys>:0: RuntimeWarning: coroutine 'Redis.execute_command' was never awaited
Description
The new langgraph.cache.redis.RedisCache
does not work with an asynchronous Redis client when used with a graph, despite what the constructor comment suggests.
System Info
System Information
OS: Linux
OS Version: #33~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 19 17:02:30 UTC 2
Python Version: 3.13.7 (main, Sep 2 2025, 14:21:46) [Clang 20.1.4 ]
Package Information
langchain_core: 0.3.76
langchain: 0.3.27
langchain_community: 0.3.30
langsmith: 0.4.28
langchain_openai: 0.3.33
langchain_redis: 0.2.4
langchain_text_splitters: 0.3.11
langgraph_sdk: 0.2.9
Optional packages not installed
langserve
Other Dependencies
aiohttp<4.0.0,>=3.8.3: Installed. No version info available.
anyio: 4.10.0
async-timeout<5.0.0,>=4.0.0;: Installed. No version info available.
certifi: 2025.8.3
dataclasses-json<0.7.0,>=0.6.7: Installed. No version info available.
httpcore: 1.0.9
httpx-sse<1.0.0,>=0.4.0: Installed. No version info available.
httpx<1,>=0.23.0: Installed. No version info available.
httpx>=0.25.2: Installed. No version info available.
jinja2: 3.1.6
jsonpatch<2.0,>=1.33: Installed. No version info available.
langchain-anthropic;: Installed. No version info available.
langchain-aws;: Installed. No version info available.
langchain-azure-ai;: Installed. No version info available.
langchain-cohere;: Installed. No version info available.
langchain-community;: Installed. No version info available.
langchain-core<1.0.0,>=0.3.72: Installed. No version info available.
langchain-core<1.0.0,>=0.3.76: Installed. No version info available.
langchain-core<2.0.0,>=0.3.75: Installed. No version info available.
langchain-deepseek;: Installed. No version info available.
langchain-fireworks;: Installed. No version info available.
langchain-google-genai;: Installed. No version info available.
langchain-google-vertexai;: Installed. No version info available.
langchain-groq;: Installed. No version info available.
langchain-huggingface;: Installed. No version info available.
langchain-mistralai;: Installed. No version info available.
langchain-ollama;: Installed. No version info available.
langchain-openai;: Installed. No version info available.
langchain-perplexity;: Installed. No version info available.
langchain-text-splitters<1.0.0,>=0.3.9: Installed. No version info available.
langchain-together;: Installed. No version info available.
langchain-xai;: Installed. No version info available.
langchain<2.0.0,>=0.3.27: Installed. No version info available.
langsmith-pyo3>=0.1.0rc2;: Installed. No version info available.
langsmith<1.0.0,>=0.1.125: Installed. No version info available.
langsmith>=0.1.17: Installed. No version info available.
langsmith>=0.3.45: Installed. No version info available.
numpy>=1.26.2;: Installed. No version info available.
numpy>=2.1.0;: Installed. No version info available.
openai-agents>=0.0.3;: Installed. No version info available.
openai<2.0.0,>=1.104.2: Installed. No version info available.
opentelemetry-api>=1.30.0;: Installed. No version info available.
opentelemetry-exporter-otlp-proto-http>=1.30.0;: Installed. No version info available.
opentelemetry-sdk>=1.30.0;: Installed. No version info available.
orjson>=3.10.1: Installed. No version info available.
orjson>=3.9.14;: Installed. No version info available.
packaging>=23.2: Installed. No version info available.
pydantic-settings<3.0.0,>=2.10.1: Installed. No version info available.
pydantic<3,>=1: Installed. No version info available.
pydantic<3.0.0,>=2.7.4: Installed. No version info available.
pydantic>=2.7.4: Installed. No version info available.
pytest>=7.0.0;: Installed. No version info available.
python-ulid: 3.1.0
PyYAML<7.0.0,>=5.3.0: Installed. No version info available.
PyYAML>=5.3: Installed. No version info available.
redisvl: 0.8.2
requests-toolbelt>=1.0.0: Installed. No version info available.
requests<3,>=2: Installed. No version info available.
requests<3.0.0,>=2.32.5: Installed. No version info available.
requests>=2.0.0: Installed. No version info available.
rich>=13.9.4;: Installed. No version info available.
SQLAlchemy<3,>=1.4: Installed. No version info available.
SQLAlchemy<3.0.0,>=1.4.0: Installed. No version info available.
tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available.
tiktoken<1,>=0.7: Installed. No version info available.
typing-extensions: 4.15.0
typing-extensions>=4.7: Installed. No version info available.
urllib3: 2.5.0
vcrpy>=7.0.0;: Installed. No version info available.
zstandard>=0.23.0: Installed. No version info available.