Skip to content

Compare

MorrowCache vs Redis LangCache and RedisVL

Redis offers two semantic caches: LangCache, a hosted service in preview, and RedisVL’s SemanticCache, an open-source library. Both are building blocks your code calls before and after the model. MorrowCache is a proxy, so your code does not change.

Updated

At a glance

Redis LangCacheRedisVL SemanticCacheMorrowCache
FormHosted REST API with Python and JS SDKsPython library on RedisLocal proxy
StatusPublic preview on Redis CloudOpen source (MIT)Open source (MIT), 2.0
IntegrationCall search before the model, store afterCall check before, store afterChange the client's base URL
Hit decisionEmbedding similarity, threshold configurableCosine distance; docs example uses 0.1LLM judge admits a shortlisted candidate
ExpiryTTL and eviction configurableNo TTL unless you set oneTTL by freshness class; time-sensitive asks refused
ScaleManaged RedisYour Redis deploymentOne process, one SQLite file

Where Redis wins

  • It scales. Many app servers can share one cache, which a single-process SQLite proxy cannot do.
  • RedisVL supports filterable fields such as a user ID, which makes per-user scoping explicit.
  • LangCache manages the embedding model for you.
  • If you already run Redis, there is nothing new to operate.

Where MorrowCache wins

  • No code changes: any OpenAI-compatible client works by changing one URL.
  • A model judges intent, rather than a distance cut-off deciding alone.
  • Agent-aware: hits are scoped to the same prior turns, and tool-call responses are never stored.
  • Runs on a laptop with nothing else installed: Node 22.5+ or Docker.

Verdict

For a multi-server production app that already uses Redis, RedisVL or LangCache is the natural fit. For a local agent, a script or a single service where you want caching without touching code, MorrowCache is simpler. Background: how semantic caches decide a hit.

Try it on your own traffic.

npx @kushalicious/jevcache@latest start --demo

Set it up