mirror of
https://github.com/suitenumerique/meet.git
synced 2026-09-30 05:25:02 +02:00
The previous presence cache lookup keyed off a scan over the whole cache, so its cost was O(db_size) rather than O(room_size). Combined with the recent switch to cursor-based `SCAN` at an inappropriate page size, this caused a lot of Redis round-trips and noticeably slowed down the backend pods under load. Refactor the presence cache to keep a per-room set of all its participant keys. Lookups now iterate that set instead of scanning the whole database. Complexity is now bounded by room size, not database size, which should restore the backend performance to its previous levels while keeping the lobby behavior unchanged.