KamoCRM

Redis KEYS를 사용하여 대량의 읽기 및 stale-presence 스윕 스톱

FixMediaService
관련 상품
2026년 9월 23일 오전 10:41 UTC
이름 *
Kamo
뚱 베어
e696226

getBulkPresence/getBulkLastSeen ran KEYS PRESENCE:*/PRESENCE LAST SEEN:* 모든 것에 호출 - 모든 존재 소켓 마운트 및 탭 초점에 충돌 - 그리고 30s 스윕 랜 두 번 더, 모든 같은 Redis에 대한 모든 *** 세션. 주요 특징 워크 및 블록 전체 키 공간; 플랫폼 스케일에서 전체 제거 요청 경로에 배치, per-org 하나. 세 각각은 이제 스캔 대신 유지 인덱스를 읽습니다. - PRESENCE ORG INDEX:{orgId} - 마지막 심박수에 의해 평가되는 ZSET handleConnect/handleHeartbeat에 의해 작성된 handleDisconnect의 제거 공유하기 getBulkPresence는 직접 읽습니다 (org scoping는 곁에 있습니다 건설 지금, per-candidate orgId 검사하지 않음); 청소의 회원 절반 ZRANGEBYSCORE와 함께 읽을 수 있습니다. - PRESENCE ACTIVE ORGS - org ids의 세트, 그래서 청소는 모든 org의 방문 할 수 있습니다 스캔 회원 데이터로 org ids를 발견하지 않고 인덱스. * * * * * * * - SET 역행 getBulkLastSeen 같은 방법. 이전과 동일하지: 개별 키의 자신의 400 일 TTL 아직도 은퇴. - PRESENCE PUBLIC INDEX - 방문자 세션의 한 플랫 ZSET (org 개념 없음, 아무것도 org에 의해 대량에 그들을 읽는다), 청소의 공중 절반. 모든 per-id 해시 키 (장소:, PRESENCE PUBLIC:, PRESENCE LAST SEEN:)는 unchanged - 같은 필드, 같은 TTLs - 그리고 진실의 단일 소스를 유지 그것의 자신의 국가; ids가 보고 얻은 색인 단지 좁은; 읽거나 신뢰하거나 보고하기 전에 진짜 해시를 청소하고, self-heals ( 인덱스 항목을 삭제) 해시가 이미 살아남을 경우. · 잘못된 heartbeat (key 만료 된 중간 세션)는 여전히 org를 속성 할 수 없습니다 - 동일한 간격은 오래된 KEYS+HGET("orgId") 검사가, 그 경로가 결코 썼기 때문에 org-bulk 뷰만 영향을 받으며, 이전에는 변하지 않습니다. PresenceBulkLookupTest (새로운) 및 PresenceSweepTest (rewritten에 의해 덮는 새로운 발견 메커니즘, 같은 행동 핀 플러스 "never 호출 KEYS" 검사), mutation-checked: 인덱스 쓰기 드롭 handleConnect, getBulkPresence의 자기 치유 지점, hasKey 가드 각 청소에서 특정한 assertion 빨강을 돌립니다.

모든 변경 사항

배송을 보는 것과 같이?

모든 것이 자신의 작업 공간에서 도착합니다. 무료 플랜을 시작하고 이 페이지를 다시 한 달에 읽으십시오.

무료 영원히 시작가격 비교