Redis

Redis is Orbit's cache, session and queue backend. Everything it holds is disposable except queued jobs and live sessions (it runs with append-only persistence so those survive a restart); the SQLite database stays the single source of truth.

Guides, in the order you'd actually need them

  1. Run and operate RedisRedisRun and operate Redisdocker-compose.yml defines a redis service (redis:7-alpine). It publishes no port: it is reachable only inside the Docker network, as the host redis. The a… — the redis Docker service, the env variables (including Doppler), switching the cache/session/queue drivers one by one, and inspecting or flushing it.
  2. Cache a value and invalidate itRedisCache a value and invalidate itTwo tools, both in app/Support/Cache/CacheVersion.php and plain Cache: — CacheVersion, the membership scope, and what must move the version when you add a write path.
  3. Sessions on RedisRedisSessions on RedisWith SESSIONDRIVER=database the Security page lists the sessions table. Redis stores one opaque payload per session id and cannot be searched by user, so A… — why the Security page needs the SessionRegistry and how it works.

What is cached today

DataWhereInvalidated by
A user's notifications (newest 100)NotificationService::getAllForUserstore, update, delete, mark-all-read
A user's project list and "has projects"ProjectServicethe membership version
A user's role and permissions on a projectProject::membershipOf()the membership version
Issue lists: dashboard counts, a project's table page, the calendar range and deadlinesIssueServicethe issues, users and membership versions (2-minute TTL)
Sessions, rate limiter, queue, locksLaravel driversnot applicable

The notification, project-list and permission reads are shared Inertia props or authorization checks that run on (almost) every request; the issue lists are the heaviest page queries.