
# Redis session store

Store web sessions in Redis with cookie-based session IDs and TTL expiration

This guide family shows how to store web sessions in Redis so multiple application servers can share session state.

## Overview

A Redis-backed session store is a good fit when you need:

*   Shared session state across multiple web servers
*   Fast reads and writes for authenticated user state
*   Automatic session expiration after inactivity
*   A simple way to store lightweight user-specific data

The typical pattern is:

1.  Generate an opaque session ID
2.  Store the session data in Redis under a key such as `session:{id}`
3.  Send the session ID to the browser in a cookie
4.  Load the session from Redis on each request
5.  Refresh the TTL while the session stays active

## Available implementations

*   [redis-py](redis-py/index.md) - Build a Python session store and a local demo server using the standard library HTTP server
*   [Node.js](nodejs/index.md) - Build a Redis-backed session store with `node-redis` and a local Node.js demo server
*   [Go](go/index.md) - Build a Redis-backed session store with `go-redis` and a local Go demo server
*   [Java](java-jedis/index.md) - Build a Redis-backed session store with Jedis and a local Java demo server
*   [Java (Lettuce)](java-lettuce/index.md) - Build a Redis-backed session store with Lettuce using async and reactive APIs
*   [.NET](dotnet/index.md) - Build a Redis-backed session store with `StackExchange.Redis` and a local ASP.NET Core demo server
*   [PHP](php/index.md) - Build a Redis-backed session store with Predis and a local PHP demo server
*   [Ruby](ruby/index.md) - Build a Redis-backed session store with `redis-rb` and a local Ruby demo server
*   [Rust](rust/index.md) - Build a Redis-backed session store with `redis-rs`, including both sync and async APIs

## On this page
