KamoCRM

Lire en gros de présence et arrêt de balayage de la présence à l'aide de Redis KEYS

FixMediaService
Expédié
23 septembre 2026 à 10:41 UTC
Auteur
Kamo
Commite
e696226

getBulkPresence/getBulkLastVoirn a couru PRÉSENCE DES PECHES: Appeler - frappez sur chaque monture de présence et mise au point de l'onglet - et le balayage des années 30 couru c'est deux fois plus, tous contre le même Redis qui tient toutes les sessions. KEYS marches et bloque l'ensemble de l'espace clé; à l'échelle de la plate-forme qui est un full-Redis stupéfiez-vous sur un chemin de demande, pas un par or. Chacun des trois lit maintenant un indice maintenu au lieu de balayage: - PRESENCE-ORG-INDEX:-orgId- a-st-sile de membreId scoreé par le dernier rythme cardiaque, écrit par handleConnect/handleHeartbeat, enlevé par poignéeDisconnect's grace-période supprimer. getBulkPresence lit-il directement (org scoping est de construction maintenant, pas un contrôle par codédance orgId); la moitié membre du balayage Le lit avec le projet de recherche uniquement de candidats de manière plausible. - PRESENCE-ACTIVE-ORGS - un ENSEMBLE d'orges, de sorte que le balayage peut visiter chaque groupe d'orges index sans découvrir des ids org en scannant des données des membres. - - - un support SET getBulkLastVoir le De la même manière. Non balayé, identique à avant: la clé individuelle se trouve elle-même TTL de 400 jours C'est toujours ce qui le retire. - PRESENCE-PUBLIC-INDEX - un appartement "SET" pour les visites guidées (pas de concept d'orgge, Rien ne les lit en vrac par org), en alimentant la moitié publique du balayage. Chaque clé de hachage per-id (PRESENCE:, PRESENCE-PUBLIQUE:, PRESENCE-LAST-SEEN:) est inchangé - mêmes champs, les mêmes TTL - et reste la source unique de vérité pour son propre état; un index se rétrécit que les ids regardent; une lecture ou le le balayage vérifie toujours le vrai hachage avant de faire confiance ou de signaler quoi que ce soit, et auto-cicatrisant (gouttes l'entrée de l'index) si le hachage l'a déjà survécu. A les battements de cœur ressuscités (clé expiré en milieu de session) ne peuvent toujours pas attribuer une org - le même écart que l'ancien scanner KEYS-HGET («orgId") avait, puisque cette voie n'a jamais écrit le champ soit; seule la vue en bulle est affectée, inchangée par rapport à l'heure. Couvert par PrésenceBulkLookupTest (nouveau) et PrésenceSweepTest (réécrit pour le nouveau mécanisme de découverte, les mêmes épingles comportementales qu'auparavant plus un "j'ai jamais Appeler KEYS" check), test de mutation: abandon de l'index en écriture poignée Connect, la branche auto-cicatrisante dans getBulkPresence, et le silent-sy Guard dans le balayage, chaque retournement est un affirmation spécifique rouge.

Tous les changements

Comme ce que tu vois expédier ?

Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.

Commencez gratuitement pour toujoursPrix de visualisation