KamoCRM

Prezenţa se citeşte în vrac şi se opreşte matura staţionară folosind Redis KEYS

FixMediaService
Expediere
23 septembrie 2026 la 10:41 UTC
Autor
Kamo
Comite
e696226

getBulkPresence/getBulkLastSeen run Keys Presence:*/PRESENCE LAST SEEN:* on every each apel - lovit pe fiecare mount de prezenta-socket și focalizare file - și 30s matura a fugit De două ori mai mult, toate împotriva aceleași Redis care deține fiecare sesiune ***. CHEI merge și blochează întregul spațiu cheie; la scara platformei, care este un full-Redis Stand pe o cale de cerere, nu unul per-org. Fiecare dintre cele trei acum citește un index menținut în loc de scanare: - Presence ORG INDEX: {orgId} - un ZSET de membruId marcat de ultima bataie a inimii, scris de mânerConnect/handleHeartbeat, eliminat de manerDisconnect's perioada de grație șterge. GetBulkPresence citeste-l direct (org de cercetare este de constructie acum, nu un cec orgId per-candidat); membru jumătate matura citeste cu ZRANGEBYSCORE sa gaseasca doar candidati plausibil de vechi. - PRESENCE ACTIVE ORGS - un set de ID-uri org, astfel încât matura poate vizita fiecare org index fără a descoperi ID-uri org prin scanarea datelor membrilor. - *************** - un suport SET obțineBulkLastSeen La fel. Nu măturat, la fel ca înainte: propria cheie de 400 de zile TTL este încă ceea ce o retrage. - PRESENCE PUBLIC INDEX - un ZSET plat pentru sesiunile de vizitare (niciun concept de org, nimic nu le citește în vrac de org), hrănirea jumătate publică matura lui. Fiecare cheie hash per-id (PRESENCE:, PRESENCE PUBLIC:, PRESENCE LAST SEEN:) este neschimbate - aceleași domenii, aceleași TTL - și rămâne singura sursă de adevăr pentru starea sa proprie; un indice doar se îngustează la care se uită ID-urile; o citire sau matura încă verifică hash real înainte de a avea încredere sau raportarea ceva, și se autovindecă (dă drumul la intrarea indexului) dacă haşişul a supravieţuit deja. A Bătăile inimii revigorate (cheie expirată la mijlocul perioadei de sesiune) încă nu pot atribui o org - același decalaj vechi KEYS+HGET["orgId") scanare a avut, deoarece această cale nu a scris niciodată Fie câmpul; numai vizualizarea org-bulk este afectată, neschimbată față de înainte. Acoperit de prezenţăBulkLookuptest (nou) şi prezenţăSweepTest (rescris pentru noul mecanism de descoperire, ace de comportament ca înainte plus un "niciodată apelează KEYS" check), mutație-verificat: scăderea indicelui scrie în mânerConnect, ramura auto-vindecare în GETBulkPresence, și are Key garda în matura fiecare rândul său, o afirmație specifică roșu.

Toate modificările

Ca ceea ce vezi de transport maritim?

Toate acestea ajung în spațiul de lucru pe cont propriu. Începeți cu planul gratuit și citiți această pagină din nou într-o lună.

Pornește gratuit pentru totdeaunaVezi prețurile