KamoCRM

Präsenz Bulk liest und die abgestandene-Präsenz Sweep stoppen mit Redis KEYS

FixMediaService
Verschifft
23. September 2026 um 10:41 UTC
Autor
Kamo
Ausschuss
e696226

getBulkPresence/getBulkLastSeen lief KEYS PRESENCE:*/PRESENCE_LAST_SEEN:* auf jedem Call - auf jedem Präsenz-Sockel-Mount und Tab-Fokus getroffen - und die 30er Sweep lief es zweimal mehr, alle gegen die gleichen Redis, die jede *** Sitzung hält. KEYS geht und blockiert den gesamten Keyspace; im Plattformmaßstab ist das ein Full-Redis Stand auf einem Anfrageweg, nicht auf einem pro-Ort. Jeder der drei liest nun einen gepflegten Index statt des Scannens: - PRESENCE_ORG_INDEX:{orgId' - ein ZSET von memberId, erzielt durch den letzten Herzschlag, geschrieben von handleConnect/handleHeartbeat, entfernt von handleDisconnect's Gnade-Periode löschen. getBulkPresence liest es direkt (org scoping ist von Bauen jetzt, nicht ein pro Kandidat orgId-Prüfung); das Sweep-Mitglied Hälfte liest es mit ZRANGEBYSCORE, nur plausibel-stale Kandidaten zu finden. - PRESENCE_ACTIVE_ORGS - ein SET von org-IDs, so dass der Sweep jeden org besuchen kann Index ohne Org-IDs durch Scannen von Mitgliedsdaten zu entdecken. - ************ - a SET Backing getBulkLastSeen the auf die gleiche Weise. Nicht gefegt, wie zuvor: die individuelle Schlüssel eigene 400-Tage-TL ist immer noch das, was es in den Ruhestand. - PRESENCE_PUBLIC_INDEX - eine flache ZSET für Besuchersitzungen (ohne Org-Konzept, Nichts liest sie in großen Mengen von org), Fütterung der Öffentlichkeit Hälfte des Sweeps. Jeder per-id hash Schlüssel (PRESENCE:, PRESENCE_PUBLIC:, PRESENCE_LAST_SEEN:) ist unverändert - gleiche Felder, gleiche TTLs - und bleibt die einzige Quelle der Wahrheit für seinen eigenen Zustand; ein Index verengt nur, welche ids angeschaut werden; eine Lektüre oder die Swee macht immer noch die Kontrolle der realen Hash vor Vertrauen oder Bericht etwas, und Selbst-Hebt (Drops den Index-Eintrag), wenn der Hash es bereits überlebt hat. A wiederbelebter Herzschlag (Schlüssel abgelaufene Mitte der Sitzung) kann immer noch kein Org zuschreiben - die gleiche Lücke, die der alte KEYS+HGET ("orgId") Scan hatte, da dieser Pfad nie geschrieben hat Das Feld ist entweder vorhanden, nur die org-bulk-Ansicht ist betroffen, unverändert von vorher. Abgedeckt von PresenceBulkLookupTest (neu) und PresenceSweepTest (rewrittened for der neue Entdeckungsmechanismus, die gleichen Verhaltensstifte wie zuvor plus ein "nie". ruft KEYS-Prüfung), mutationsgeprüft: Fallenlassen des Index-Rechens handleConnect, die Selbstheilung in getBulkPresence, und der HasKey Guard im Sweep jede drehen eine bestimmte Behauptung rot.

Alle Änderungen

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen