Implement RedisSessionStore with the Lua CAS funnel #15

Closed
opened 2026-07-05 19:20:10 +01:00 by TimCane · 0 comments
TimCane commented 2026-07-05 19:20:10 +01:00 (Migrated from github.com)

Goal

StackExchange.Redis singleton, MutateAsync CAS loop (read/apply/bump-version/EVALSHA/retry 5x with jitter), CreateAsync with 24h TTL, GetAsync, ResolveCodeAsync, KEEPTTL semantics; Lua script loaded once at startup.

References

Done when

  • Advances M2 A2/A3 (CAS + TTL).

Part of M2: Session core.

## Goal StackExchange.Redis singleton, MutateAsync CAS loop (read/apply/bump-version/EVALSHA/retry 5x with jitter), CreateAsync with 24h TTL, GetAsync, ResolveCodeAsync, KEEPTTL semantics; Lua script loaded once at startup. ## References - [docs/03-redis-schema.md#concurrency](https://github.com/TimCane/bill-splitter/blob/main/docs/03-redis-schema.md#concurrency) - [docs/03-redis-schema.md#lifecycle-operations](https://github.com/TimCane/bill-splitter/blob/main/docs/03-redis-schema.md#lifecycle-operations) - [docs/07-backend-design.md#the-mutate-pattern](https://github.com/TimCane/bill-splitter/blob/main/docs/07-backend-design.md#the-mutate-pattern) ## Done when - Advances M2 A2/A3 (CAS + TTL). --- Part of **M2: Session core**.
Sign in to join this conversation.
No description provided.