{
  "schema_version": 2,
  "id": "operate/iris/langcache/self-managed",
  "title": "Self-managed LangCache",
  "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/",
  "summary": "Deploy, configure, secure, and operate LangCache on a self-managed Kubernetes cluster.",
  "tags": [
    "docs",
    "operate",
    "iris"
  ],
  "last_updated": "2026-09-11T13:23:44+03:00",
  "children": [
    {
      "id": "operate/iris/langcache/self-managed/prerequisites",
      "summary": "Review software, Redis, network, Secret, image, and sizing prerequisites for self-managed LangCache.",
      "title": "Self-managed LangCache prerequisites",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/prerequisites/"
    },
    {
      "id": "operate/iris/langcache/self-managed/configuration",
      "summary": "Configure the LangCache Data Plane, Control Plane, and Identity Service through Helm values and config overlay Secrets.",
      "title": "Configuration",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/configuration/"
    },
    {
      "id": "operate/iris/langcache/self-managed/deploy",
      "summary": "Deploy self-managed LangCache with the langcache Helm chart.",
      "title": "Deploy self-managed LangCache",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/deploy/"
    },
    {
      "id": "operate/iris/langcache/self-managed/authentication",
      "summary": "Configure LangCache self-managed Control Plane authentication and Data Plane agent-key authentication through the Identity Service.",
      "title": "Authentication and authorization",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/authentication/"
    },
    {
      "id": "operate/iris/langcache/self-managed/api-examples",
      "summary": "Use curl examples with the LangCache self-managed Control Plane, Identity Service, and Data Plane APIs.",
      "title": "Self-managed API examples",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/api-examples/"
    },
    {
      "id": "operate/iris/langcache/self-managed/control-plane-api-reference",
      "summary": "",
      "title": "LangCache Control Plane API reference",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/control-plane-api-reference/"
    },
    {
      "id": "operate/iris/langcache/self-managed/operations",
      "summary": "Operate self-managed LangCache with backups, secret rotation, updates, FIPS posture, and support bundles.",
      "title": "Operations",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/operations/"
    },
    {
      "id": "operate/iris/langcache/self-managed/reference",
      "summary": "Review self-managed LangCache configuration, troubleshooting guidance, and reference links.",
      "title": "Configuration and troubleshooting",
      "url": "https://redis.io/docs/latest/operate/iris/langcache/self-managed/reference/"
    }
  ],
  "page_type": "content",
  "content_hash": "537c1e3952785d7161e359cb3130893f34f88a8a2dd859ef07510e3716d0a2de",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "LangCache is a semantic caching service that stores LLM responses for faster,\ncheaper retrieval. Applications send prompts to LangCache, which either returns a\ncached response for a semantically similar prior prompt or calls out to your\nembedding provider and stores a new entry when there is no match.\n\nThis guide covers deployment, configuration, security, and operations for\nself-managed LangCache.\n\nThe [LangCache API](https://redis.io/docs/latest/develop/ai/context-engine/langcache/api-reference)\nis the shared Data Plane API for Redis Cloud and self-managed deployments. The\n[Control Plane API reference](https://redis.io/docs/latest/operate/iris/langcache/self-managed/control-plane-api-reference)\ndocuments the self-managed admin endpoints for caches.\n\n\nSelf-managed LangCache is available as a private preview. You need a license\nkey to deploy it. Contact your Redis representative or\n[contact sales](https://redis.io/contact/)."
    },
    {
      "id": "what-you-are-deploying",
      "title": "What you are deploying",
      "role": "content",
      "text": "One `helm install` of the `langcache` chart always creates the Data Plane and\nthe Control Plane, plus either a bundled or an external Identity Service.\nThere is no lighter-weight install of only the Data Plane for self-managed\nLangCache. Every cache is created and managed through the Control Plane, and\nevery Data Plane request is authenticated by the Identity Service.\n\n| Component | Purpose | Default service |\n| --- | --- | --- |\n| LangCache Data Plane | Cache-scoped runtime API for set, search, and flush. | `langcache:9000` |\n| LangCache Control Plane | Admin API for creating and managing caches. | `langcache-controlplane:9100` |\n| Identity Service | Issues and validates the agent keys the Data Plane requires. Bundled by the chart (default) or an external instance your suite already runs. | `langcache-identity-service:9200` (bundled mode) |\n| Cache Redis | Holds cache entries and RediSearch vector indexes. Registered by ID in the Control Plane's database registry — the Data Plane has no database registry of its own. | Customer-provided |\n| Metadata Redis | Holds Control Plane cache records. Can be the same Redis instance as Cache Redis, in a separate keyspace. | Customer-provided |"
    },
    {
      "id": "how-the-components-work-together",
      "title": "How the components work together",
      "role": "content",
      "text": "1. Platform admins use the Control Plane to create and manage caches,\n   selecting a Cache Redis target by `databaseId` from the Control Plane's\n   own database registry.\n1. The Control Plane writes cache records to Metadata Redis, including the\n   resolved Redis URLs for that cache, and synchronously provisions the\n   RediSearch vector index in Cache Redis.\n1. Platform admins mint agent keys through the Identity Service, granting\n   `lc-cache:<cache-id>` permissions.\n1. Agents and applications call the Data Plane with a cache ID and an agent\n   key.\n1. The Data Plane introspects the key against the Identity Service, reads\n   the cache's metadata (including its Redis URLs) from Metadata Redis, and\n   reads or writes entries in Cache Redis."
    },
    {
      "id": "api-surfaces",
      "title": "API surfaces",
      "role": "content",
      "text": "All Data Plane APIs are scoped to a cache. A cache is the logical isolation\nboundary for cached entries.\n\n| API surface | Endpoint prefix | Purpose |\n| --- | --- | --- |\n| Cache entries | `/v1/caches/{cacheId}/entries` | Set, search, and delete cached entries. |\n| Cache flush | `/v1/caches/{cacheId}/flush` | Flush all entries in a cache. |\n| Cache health | `/v1/caches/{cacheId}/health` | Cache-scoped health status. |\n| Control Plane | `/v1/caches`, `/v1/embedding-providers` | Self-managed administration for caches. |\n| Identity Service | `/v1/api-keys` | Mint, list, update, revoke, and rotate agent keys and their cache grants. |\n\nThe [LangCache API](https://redis.io/docs/latest/develop/ai/context-engine/langcache/api-reference)\nreference does not yet document cache health; for that, use\n[API examples](https://redis.io/docs/latest/operate/iris/langcache/self-managed/api-examples)\nuntil the shared schema is updated.\n\nStart with [prerequisites](https://redis.io/docs/latest/operate/iris/langcache/self-managed/prerequisites),\nthen follow [Deploy self-managed LangCache](https://redis.io/docs/latest/operate/iris/langcache/self-managed/deploy)."
    }
  ],
  "examples": []
}
