Інтернет-магазини
Сторінки товарів, ціни й залишки читаються тисячі разів на секунду та оновлюються за тегом, коли змінюється каталог.
Тримайте найгарячіші дані в пам'яті й відповідайте на читання далеко швидше за мілісекунду, на рушії, що задіює кожне ядро.
Влучання повертається просто з пам'яті. До бази даних не звертаються.
Анімований покроковий розбір з реальними командами HotKV і прикладами відповідей. Натисніть будь-який крок, щоб перейти до нього. Команди та відповіді залишаються англійською, так само, як ви вводите й бачите їх у HotKV.
До бази даних звертатися повільно й дорого, коли дані читають тисячі разів на секунду. Кожен перегляд сторінки, виклик API чи оновлення дашборда повторює той самий запит, і база даних стає вузьким місцем задовго до вашого застосунку.
HotKV стоїть перед базою даних і тримає результати в пам'яті. Ваш застосунок спершу читає з HotKV і повертається до бази лише при промаху. Оскільки HotKV виконує команди на багатьох потоках одночасно, завантажений кеш не проганяє кожного клієнта через одне ядро, а теги дозволяють інвалідувати цілу групу записів, коли змінюються вихідні дані.
Влучання повертається просто з пам'яті. До бази даних не звертаються.
GET product:1001При промаху застосунок один раз читає базу даних і кешує результат на п'ять хвилин.
SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300Кожна кешована сторінка з освітленням має той самий тег.
TAG.SET product:1001 catalog:lightingЦіни змінилися. Перелічіть кожен ключ із тегом і видаліть їх одним конвеєром.
TAG.MEMBERS catalog:lightingФлеш-токен, уже встановлений, який має зникнути через 250 мс, з наносекундною точністю.
NEXPIRE flash:token:9 250000000Сторінки товарів, ціни й залишки читаються тисячі разів на секунду та оновлюються за тегом, коли змінюється каталог.
Відповіді популярних кінцевих точок кешуються з короткими TTL, тож сплески трафіку б'ють у пам'ять, а не в базу даних.
Відрендерені фрагменти й метадані статей кешуються на хвилини й інвалідуються за тегом, коли редактор публікує.
EXPIRE і PEXPIRE працюють, як ви очікуєте. NEXPIRE додає наносекундну точність.
EXPIREPEXPIRENEXPIREПозначте ключі через TAG.SET, потім знайдіть кожен ключ із позначкою.
TAG.SETTAG.MEMBERSВеликі корисні навантаження можна стискати, щоб у пам'ять вміщалося більше вашого робочого набору.
Команди виконуються на паралельних потоках, тож пропускна здатність зростає з ядрами. Цифри на сторінці «Продуктивність».
GETMGETHotKV розмовляє протоколом Redis (RESP2 і RESP3), тож стандартні клієнти Redis підключаються до нього. Перевірте довідник команд щодо команд, на які ви покладаєтеся.
Позначте ключі через TAG.SET, коли кешуєте їх, потім викличте TAG.MEMBERS і видаліть повернуте.
Це пропускна здатність GET у конвеєрі з опублікованого бенчмарка HotKV. Метод і обладнання на сторінці «Продуктивність».
HotKV розмовляє протоколом Redis, тож ви можете направити на нього наявний клієнт і виконувати ті самі команди.