KamoCRM

Наявність сипучих читань і стелевої зупинки за допомогою Redis KEYS

FixMediaService
Shipped
23 вересня 2026 р. о 10:41 UTC
Author
Kamo
Commit
e696226

getBulkPresence/getBulkLastSeen ran KEYS PRESENCE:*/PRESENCE LAST SEEN:* на кожному Дзвоните до - вдарив на кожну присутність-socket mount і фокус вкладки - і 30s ковтати рани вона двічі більше, всі проти того ж Redis, що займає кожну сеанс ***. КЛЮЧОВІ прогулянки і блокує весь ключовий простір; в масштабі платформи, що є повноцінним стиглий на доріжку запиту, а не на одну. Кожен з трьох тепер прочитає індекс, замість сканування: - PRESENCE ORG INDEX:{orgId} - ZSET учасника ручкаConnect/handleHeartbeat, видалена вручну Видалення граціопеда. getBulkPresence Читає його безпосередньо (орг scoping) тепер будівництво, не вказана перевірка orgId; Ознайомтеся з ZRANGEBYSCORE, щоб знайти лише кандидата на пластику. - PRESENCE ACTIVE ORGS - СЕТ оргових покладів, тому ковпачка може відвідати кожен орг індекс без виявлення org-дисків шляхом сканування даних користувачів. ************************************************************************************************************************************************************************************************************************************************************************** - SET Backing getBulkLastSeen the так само. Не ковтати, як і раніше: власний ключ 400-day TTL все ще те, що відіграє її. - PRESENCE PUBLIC INDEX - одна квартира ZSET для сеансів відвідувачів (не концепція орг, нічого не читає їх насипаними оргами, годуючи публічну половину. Кожна за idh ключ (PRESENCE:, PRESENCE PUBLIC:, PRESENCE LAST SEEN:) is незмінні - однакові поля, такі ж ТТЛ - і залишаються єдиним джерелом правди власний стан; індекс тільки вузькі, які посидять; читати або ковтати все ще перевіряє реальний хеш перед довірою або звітуванням нічого, і самозаготовки (подарує індексний запис) у разі, якщо хеш вже нежив його. Р відроджений серцебиття (підвищений середній особняк) ще не може атрибутувати org - цей самий проміжок старий КЛЮКС + HGET("orgId") сканування мала, так як цей шлях ніколи не писав поле як і; тільки вид org-bulk вражається, не змінюється від раніше. Покриття PresenceBulkLookupTest (новий) і PresenceSweepTest (записується для Новий механізм відкриття, як і раніше плюс "все дзвінки KEYS" перевірте, мутація-перевірити: випадання індексу писати в ручкаПідключення, самозаготівля в getBulkPresence, і охоронець в ковтці кожен перетворить певну твердження червоним.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing