Перейти до вмісту

Cache

Матеріал з K2 ERP Wiki
Версія від 11:53, 9 травня 2026, створена R (обговорення | внесок) (Створена сторінка: {{DISPLAYTITLE:Cache}} {{SEO |title=Cache — кешування даних у браузері, backend, API, ERP та K2 ERP |description=Cache — тимчасове збереження даних для прискорення роботи цифрових систем. Кеш браузера, backend cache, API cache, database cache, CDN, invalidation, TTL, ERP, K2 ERP, автоматизація бізнесу та цифрова незалежні...)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)

Приклад:

Page cache

Cache у frontend

У frontend cache сприяє зробити інтерфейс швидшим.;== Коротко ==

Джерела

Потрібно обережно кешувати:

  • один користувач системи бачить нову версію, інший стару;
  • після актуалізація кнопка не функціонує;
  • довідник не оновився;
  • старий JavaScript викликає новий API неправильно;
  • користувач системи бачить старі права;
  • звіт не змінюється після актуалізація документів;
  • очищення кешу вирішує проблему.;

Але мобільний кеш має враховувати безпеку: якщо телефон загублено, інформаційні дані не повинні без зайвих зусиль потрапити стороннім людям.; API cache — кешування відповідей API.; Cache miss — ситуація, коли даних у кеші немає, і систему потрібно звертатися до основного джерела: бази даних, API, файлового сховища або зовнішнього сервісу.; * хмарна інфраструктура K2 ERP

Page cache — кешування цілих сторінок.; Інакше можна випадково показати одній людині інформаційні дані іншої.; # Обережно кешувати довідники.; Не довіряйте кешу сліпо. Якщо платформа показує старі інформаційні дані, дивну поведінку після актуалізація або неочікувану версію інтерфейсу, перевірте browser cache, API cache, TTL та invalidation.; Приклад

Cache і API

У цьому сенсі cache — частина сучасної культури розробки українських систем.; * кеш налаштувань компанії;

  • кеш довідників;
  • кеш шаблонів документів;
  • кеш результатів API;
  • кеш токенів зовнішніх сервісів;
  • кеш метаданих файлів;
  • кеш прав доступу;
  • кеш звітів.; Якщо користувачу забрали доступ, а кеш ще надає можливість йому бачити інформаційні дані, це серйозна проблема.; Cache — це проміжне сховище, яке зберігає інформаційні дані ближче до місця використання або в швидшому форматі.; Cache hit — ситуація, коли потрібні інформаційні дані знайдені в кеші.; !;== Рекомендації для користувачів ==

з цієї причини вебсистеми використовують versioning або cache busting — додавання версій до файлів, щоб браузер завантажував нову версію після актуалізація.; У K2 ERP та інших бізнес-системах cache має бути швидким, контрольованим і безпечним.; |- | Що таке browser cache?; Добра практика. Якщо звіт кешується, користувач системи має розуміти, коли саме інформаційні дані були оновлені.; Критично. API cache має враховувати авторизацію.;== Cache і cookies ==

Браузер має змогу кешувати:

API cache має змогу бути дуже корисним для інтеграцій.; як ілюстрація, backend має змогу кешувати:

як ілюстрація:

як ілюстрація, інтеграційні функціональні можливості з інтернет-магазином має змогу кешувати довідник категорій.; # Вказувати правильний TTL.; !; !; Але API cache має бути обережним із приватними даними.; Безпека. Кеш не повинен ставати другим, неофіційним сховищем конфіденційних даних без контролю доступу.; # Якщо проблема не зникає, очистити кеш браузера.; В ERP це має змогу бути стара ціна, старий залишок, стара роль користувача або старий статус документа.; як ілюстрація, платформа має змогу зберігати в кеші: Кеш надає можливість не завантажувати, не рахувати й не передавати одні й ті самі інформаційні дані повторно, якщо їх можна оперативно взяти з ближчого або швидшого сховища.; Для K2 ERP. У K2 ERP кешування важливе для швидкої роботи хмари, браузера, довідників, звітів, API, файлів, мобільних застосунків, десктопних клієнтів та одночасної роботи багатьох компаній.; Значення

Cache і швидкодія

Cache і Bandwidth

Але не можна бездумно кешувати паролі, секретні ключі або чутливі інформаційні дані.; # Використовувати versioning для frontend-ресурсів.; Саме з цієї причини кешування в бізнес-системах потребує правил:

Для українських ERP, CRM, державних сервісів, бізнес-платформ і хмарних рішень cache — це частина інженерної якості.; # Використовувати кешування для масштабування хмари.; Звіти можуть бути важкими: вони обробляють багато документів, періодів, товарів, клієнтів і рухів.; тимчасове сховище даних.; Звіти в ERP часто важкі, з цієї причини кешування звітів має змогу бути корисним.; Кешована відповідь для одного користувача не повинна потрапити іншому користувачу.; |} CDN cache має змогу зберігати:

Для K2 ERP cache важливий, бо платформа функціонує як хмарна ERP-платформа й має змогу обслуговувати багато користувачів, компаній, документів, довідників, файлів, звітів та інтеграцій.; Погана invalidation призводить до старих даних.; У режимі інкогніто функціонує.; # Після роботи на спільному пристрої виходити із системи.; Він має прискорювати роботу, але не показувати старі інформаційні дані, не ламати права доступу, не приховувати актуалізація й не створювати ризик витоку інформації.;== Cache і застарілі інформаційні дані == Кешування має безпекові ризики.;== Cache і цифрова незалежність України ==

Report cache

  • змінилася ціна товару — потрібно оновити кеш прайсів;
  • змінився залишок — потрібно оновити кеш складу;
  • змінилася роль користувача — потрібно оновити кеш прав;
  • оновився JavaScript — потрібно змусити браузер завантажити нову версію;
  • змінився документ — потрібно оновити кеш звіту.; !; |-
Що таке cache invalidation?; # Додавати кнопку «Оновити» для важливих даних.;== Browser cache ==

Але після зміни ролей кеш має оновитися.; Це інструмент, який потребує правил.; Можна кешувати:

  • кеш довідника — 10 хвилин;
  • кеш статичних файлів — 1 день;
  • кеш звіту — 5 хвилин;
  • кеш налаштувань — 1 година;
  • кеш сесії — до завершення входу.; як ілюстрація:

TTL

- Чому кеш небезпечний в ERP?; Правильне кешування на рівні бази даних має змогу значно прискорити роботу системи.; Для чого застосовується

ERP — це не блог і не візитка.; Кешування сприяє будувати такі системи.; хмарна інфраструктура K2 ERP доступна за адресою:

  • browser cache;
  • backend cache;
  • API cache;
  • database cache;
  • CDN;
  • invalidation;
  • TTL;
  • кешування файлів;
  • синхронізація;
  • безпека;
  • масштабування.;
  • об’єкт користувача;
  • конфігурація компанії;
  • список ролей;
  • довідник статусів;
  • шаблон документа;
  • конфігурацію модуля.;== API cache ==
  • сесії;
  • токени;
  • інформаційні дані користувача;
  • MFA-стан;
  • ключі перевірки;
  • публічні сертифікати;
  • конфігурація входу.; # Не зберігати секрети в frontend cache.; Паролі, токени, фінансові інформаційні дані, персональна відомості й конфіденційні документи мають оброблятися обережно.; Cache є собою технічним елементом цифрової незалежності України.; Backend має змогу зберегти результат складного запиту, щоб не рахувати його повторно.; Для ERP CDN має змогу бути корисним для статичних ресурсів інтерфейсу, але не для приватних бізнес-даних без правильного захисту.; У frontend кеш має змогу використовуватися для тимчасового збереження даних в інтерфейсі.; | K2 ERP має змогу використовувати кешування для швидкої роботи хмари, браузера, API, довідників, звітів і файлів.; А звіт за поточний день потрібно оновлювати частіше.; Але кеш — це не магічна кнопка «зробити оперативно».; TTL або Time To Live — час життя кешу.; API cache має змогу зменшити навантаження на backend і прискорити роботу клієнтів.; Це добре функціонує для публічних сайтів, де сторінка однакова для всіх користувачів.; Критично. Кеш прав доступу має очищатися одразу після зміни ролей, блокування користувача або відкликання доступу.; Cache надає можливість уникати зайвої роботи.; # Враховувати користувача, компанію й роль у кешованих API-відповідях.;

Cache і звіти

  • що кешувати;
  • на який строк;
  • коли очищати;
  • як оновлювати;
  • як перевіряти актуальність;
  • хто має право бачити кешовані інформаційні дані;
  • чи можна кешувати персональні або фінансові інформаційні дані;
  • що робити після зміни прав доступу.; Query cache — кешування результатів запитів.; Хмарні ERP потребують іншого мислення:

Після актуалізація K2 ERP кнопка “Зберегти” не функціонує в Chrome.; # Для ERP не кешувати критичні інформаційні дані без чітких правил актуальності.; # У bug report вказувати, чи очищення кешу допомогло.; * статичні файли;

  • інтерфейсні ресурси;
  • рідко змінювані довідники;
  • системні конфігурація;
  • шаблони;
  • частини звітів;
  • публічні або нечутливі метадані.;== Cache і Authorization ==

CDN або Content Delivery Network — мережа серверів, яка доставляє статичні ресурси ближче до користувача.; # Перевірити роботу в режимі інкогніто.; Якщо помилка має змогу бути пов’язана з кешем, у bug report варто вказати:

CDN особливо корисний для сайтів, інтернет-магазинів, публічних ресурсів і сервісів із користувачами з різних регіонів.; * HTML;

  • CSS;
  • JavaScript;
  • зображення;
  • шрифти;
  • іконки;
  • PDF;
  • статичні файли;
  • частини API-відповідей;
  • конфігурація інтерфейсу.; # Не плутати кеш із cookies.; У мобільних застосунках кешування дуже важливе.;== Cache і безпека ==

Cache зберігає ресурси або інформаційні дані для прискорення повторного доступу.; Окремо варто відзначити яке застосовується; додатково реалізовано сайтів, браузерів, серверів, API, баз даних, ERP, CRM, мобільних застосунків і хмарних платформ виступає ключовою рисою прискорення роботи програм забезпечується через Cache або кеш.; Звіт сформовано станом на 10:30

; Головна проблема кешу — ризик застарілих даних.; Кешування робить системи швидшими, зменшує навантаження на сервер, базу даних, API та мережу.; # Логувати проблеми кешу.; Якщо frontend думає, що інформаційні дані старі, а backend уже оновив їх, потрібен механізм синхронізації.;== Cache і деколонізація обліку ==

Backend має змогу кешувати:

Мобільний інтернет має змогу бути нестабільним, з цієї причини застосунок має змогу кешувати:

Cache і Frontend

  • зображення;
  • PDF;
  • архіви;
  • шрифти;
  • іконки;
  • файли документів;
  • експорти;
  • звіти.; API має змогу повернути кешовану відповідь, якщо інформаційні дані не змінилися.; як ілюстрація, після запуску системи можна заздалегідь підготувати:
  1. Кешувати тільки те, що справді має сенс кешувати.; Frontend cache робить інтерфейс швидшим і зручнішим.; * якість backend;
  • оптимізація frontend;
  • база даних;
  • мережа;
  • Bandwidth;
  • API;
  • алгоритми;
  • кешування;
  • кількість користувачів;
  • кількість документів;
  • розмір файлів;
  • структура звітів.; Але воно не замінює якісної структури даних, індексів і оптимізованих запитів.;== Database cache ==

У простому сайті це має змогу бути стара картинка або старий текст.; Для K2 ERP backend cache має змогу бути важливим для швидкої роботи хмари, особливо коли багато компаній і користувачів працюють одночасно.; * користувача;

  • ролі;
  • компанії;
  • прав доступу;
  • мови;
  • фільтрів;
  • поточного стану документів;
  • сесії.; https://cloud.corp2.eu

Але після актуалізація системи старий browser cache має змогу заважати.;

як ілюстрація, якщо довідник валют, одиниць виміру або типів документів змінюється рідко, немає сенсу завантажувати його з бази даних при кожному натисканні кнопки.; |-

Cookies Сесії, конфігурація, ідентифікація Cookie входу користувача
Cache Прискорення доступу до даних і файлів CSS, JavaScript, зображення, довідник

У найпростішому сенсі cache відповідає на питання:

Суть поняття

Але frontend cache має погоджуватися з backend.; Але якщо десктопний застосунок функціонує з хмарою, потрібно синхронізувати локальний кеш із актуальними даними сервера.; Тут старі інформаційні дані можуть вплинути на бізнес-рішення.;
  • фото товарів;
  • PDF-рахунки;
  • акти;
  • накладні;
  • скани;
  • сертифікати;
  • зображення;
  • експортовані звіти.; Обидва механізми важливі для браузера, але виконують різні ролі.; У хмарних ERP кешування особливо важливе, бо користувачі працюють через інтернет, браузери, мобільні застосунки, API, інтеграції та різні пристрої.; | Тимчасове сховище даних для швидкого повторного доступу.; Якщо API повертає інформаційні дані конкретного користувача, компанії або ролі, кеш має враховувати доступи.; як ілюстрація, backend уже оновився, а браузер користувача ще використовує старий JavaScript.; # Використовувати ETag або Last-Modified там, де доречно.; # Показувати час формування звіту.;== Cache і Backend ==
  • залишки;
  • ціни;
  • права доступу;
  • фінансові звіти;
  • документи;
  • персональні інформаційні дані;
  • інформаційні дані компаній;
  • результати інтеграцій;
  • сесії користувачів.;
; - Яка типова проблема?; Але якщо кешовані інформаційні дані застарілі, високий hit rate не тішить — він без ускладнень оперативно показує неправильну інформацію.; # Для критичних звітів перевіряти час формування даних.; Приклади:

Але в ERP page cache потрібно використовувати дуже обережно, бо сторінки часто залежать від:

Такі помилки часто описують у bug report як проблему середовища або проблему актуалізація.; Термін

{{SEO


Cache і Bug report

Cache hit і cache miss

  • довідники;
  • конфігурація;
  • популярні звіти;
  • статичні файли;
  • конфігурації модулів.; Кешувати приватну сторінку одного користувача й показати її іншому — це не оптимізація, а інцидент.; База даних має змогу тримати часто використовувані сторінки даних у пам’яті.; # Для мобільного кешу враховувати безпеку пристрою.; |-
- Як cache пов’язаний із K2 ERP?; # Тестувати поведінку після оновлень.;== Рекомендації для ERP ==
  • список активних валют;
  • довідник одиниць виміру;
  • конфігурація компанії;
  • список типів документів;
  • рідко змінювані системні параметри.; Але для ERP істотно вказувати, коли звіт був сформований і чи інформаційні дані актуальні.; | Щоб прискорити систему, зменшити навантаження на сервер, базу даних, API та мережу.; Якщо один і той самий звіт відкривають багато користувачів або він формується за незмінний період, його можна кешувати.; Не можна бездумно кешувати:

завдяки наявності Object cache користувачі можуть не створювати й не завантажувати ті самі об’єкти повторно.; # Не зберігати конфіденційні інформаційні дані на чужому комп’ютері.; Файли можуть кешуватися в браузері, CDN, backend або файловому сховищі.; | Очищення або актуалізація кешу після зміни даних.;== Висновок ==

Кеш — це як нотатка на столі.; У K2 ERP кешування має змогу використовуватися на різних рівнях:

Cache invalidation

Cache сприяє:

В ERP кешування має бути особливо обережним.; Приватний PDF або документ не повинен кешуватися так, щоб його міг отримати інший користувач системи.; * список товарів;

  • останній відкритий документ;
  • конфігурація таблиці;
  • вибрані фільтри;
  • мова інтерфейсу;
  • тема оформлення;
  • довідники;
  • стан форми;
  • частина даних CRM.; На відміну від звичайного browser cache, local storage часто застосовується програмою явно.; !;
  • персональні інформаційні дані;
  • фінансові інформаційні дані;
  • документи компанії;
  • токени;
  • паролі;
  • приватні файли;
  • сторінки з конфіденційною інформацією;
  • відповіді API без урахування користувача;
  • права доступу без швидкого актуалізація.; |-
Як це українською?; Короткий TTL зменшує ризик старих даних, але дає менше прискорення.;

Для ERP це істотно, з цієї причини що база даних функціонує з великими обсягами інформації:

Кешування зменшує кількість даних, які проходять через мережу, і робить систему швидшою.;

  • зображення;
  • CSS;
  • JavaScript;
  • шрифти;
  • відео;
  • файли;
  • статичні сторінки;
  • публічні ресурси.; Приклад:

Cache і помилки

Але нотатка має бути актуальною.; Зовнішній сервіс має змогу отримувати кешовані метадані.;

Cache і Browser

Українське програмне забезпечення має працювати оперативно не з цієї причини, що «користувач системи потерпить», а з цієї причини, що сильна платформа має поважати час користувача.; інформаційні дані обліку, залишки, ціни, права доступу й фінансові звіти мають бути актуальними.; * довідники;

  • останні документи;
  • конфігурація;
  • інформаційні дані користувача;
  • статуси;
  • шаблони;
  • частину файлів.; {| class="wikitable" style="width:100%;"

як ілюстрація:

Cache — це один із найважливіших механізмів швидкої роботи цифрових систем.;== Cache і local storage ==

Це одна з найскладніших частин кешування.; Жарт функціонує, бо кеш справді підступний.; Десктопні застосунки додатково можуть мати кеш.; Object cache — кешування об’єктів у пам’яті.;== Object cache ==

  • результати запитів;
  • довідники;
  • конфігурація;
  • конфігурації;
  • права доступу;
  • шаблони;
  • звіти;
  • відповіді API;
  • результати складних обчислень;
  • метадані файлів.; Приклад

Після виходу користувача з системи його сесійні інформаційні дані мають бути очищені або зроблені недійсними.; |-

Що таке TTL?; Поняття

Cache і файли

У backend кеш застосовують, коли потрібно для прискорення серверної логіки.;== Query cache ==

Це робить роботу швидшою й зручнішою.;== Cache у backend ==

Що таке Cache?; * показувати час формування звіту;
  • давати кнопку актуалізація;
  • кешувати тільки там, де це безпечно;
  • очищати кеш після зміни документів;
  • не показувати старі інформаційні дані як актуальні.; Він надає можливість браузеру швидше відкривати сторінки, backend — менше навантажувати базу даних, API — відповідати швидше, звітам — не рахуватися повторно, а хмарним ERP — працювати стабільніше для багатьох користувачів.; Проблема

Cache у K2 ERP

У авторизації кешування прав доступу має змогу прискорити роботу системи.; Високий cache hit rate зазвичай означає, що кеш функціонує результативно.; Якщо відомості часто потрібна, немає сенсу щоразу йти в архів, відкривати шафу, шукати папку й робити вигляд, що це ефективний бізнес-процес.; як ілюстрація:

Старий browser cache Після актуалізація інтерфейс функціонує неправильно Використовувати versioning і cache busting
Неправильна invalidation користувач системи бачить старі інформаційні дані Очищати кеш після зміни даних
Кеш без урахування прав Ризик витоку даних Враховувати користувача, роль і компанію
Надто довгий TTL інформаційні дані довго не оновлюються Вибирати TTL за типом даних
Немає кешу платформа повільно функціонує Кешувати безпечні й повторювані інформаційні дані
Кешування всього підряд Ризик неправильних бізнес-даних Кешувати вибірково
Немає кнопки актуалізація звіту користувач системи не має змогу отримати актуальні інформаційні дані Дати явне актуалізація
Локальний кеш після виходу Ризик доступу до приватних даних Очищати або захищати чутливий кеш

Приклади:

  1. Якщо після актуалізація інтерфейс функціонує дивно, спробувати примусово оновити сторінку.; Cache warming — попереднє наповнення кешу до того, як користувачі почнуть активно працювати.; Добра практика. Кешувати варто те, що часто читається, рідко змінюється і не створює ризику показати користувачу неправильні бізнес-дані.; Мобільний застосунок має змогу кешувати список статусів.; Це особливо істотно для:

Local storage — сховище даних у браузері, яке має змогу використовуватися frontend для збереження налаштувань або тимчасових даних.; * не перезавантажувати довідник при кожному відкритті форми;

  • зберігати стан таблиці;
  • не завантажувати повторно статичні ресурси;
  • швидше перемикатися між вкладками;
  • працювати стабільніше при слабкому інтернеті;
  • зменшити кількість API-запитів.; Добра практика:

як ілюстрація: Швидкодія системи залежить не лише від потужності сервера.; # Не кешувати приватні документи без контролю доступу.; Інакше це має змогу стати витоком даних.; Наслідок

Cache і десктопні застосунки

Це сприяє уникнути ситуації, коли перший користувач системи після актуалізація чекає довше за всіх і відчуває себе тестувальником без попередження.; * довідники;

  • списки категорій;
  • конфігурація;
  • публічні інформаційні дані;
  • статичні метадані;
  • результати пошуку;
  • нечасто змінювані відповіді.; Питання

Це одразу підказує, що причина могла бути в старих frontend-ресурсах.; # Показувати час формування кешованих звітів.; Але frontend не повинен зберігати критичні або секретні інформаційні дані без потреби.;Бінарні дані додатково можуть кешуватися.; Відповідь

Якщо інформаційні дані змінилися в базі, але користувач системи бачить стару кешовану версію, це має змогу створити помилки.; Але чутливі інформаційні дані в local storage зберігати небезпечно, особливо токени або персональну інформацію.; # Очищати кеш звітів після змін у документах.; Після очищення кешу проблема зникла.

Якщо файл належить конкретній компанії або документу, кеш має враховувати права користувача.; Після виходу користувача з системи приватні інформаційні дані не повинні залишатися доступними через кеш браузера або історію.; * швидше відкривати сторінки;

  • зменшувати кількість запитів до сервера;
  • зменшувати навантаження на базу даних;
  • економити пропускну здатність;
  • прискорювати API;
  • швидше показувати довідники;
  • не рахувати складні звіти повторно;
  • зменшувати затримки;
  • покращувати роботу мобільних застосунків;
  • зменшувати витрати на інфраструктуру.; Як краще

На неї впливають:

Cache і мобільні застосунки

Для приватних файлів потрібно контролювати доступ.;== CDN cache ==

Типові ситуації:

як ілюстрація, десктопний замовник K2 ERP для Linux, Windows або macOS має змогу кешувати статичні ресурси, конфігурація, довідники або частину даних для швидшої роботи.; Кешування binary має змогу економити bandwidth, але потрібно враховувати права доступу.;
Якщо інформаційні дані вже збережені локально або ближче до користувача, їх не потрібно передавати мережею повторно.; # Оновлювати кеш прав після зміни ролей.; У backend cache часто застосовується для зменшення навантаження на базу даних і зовнішні сервіси.; Кешування сприяє зробити роботу швидшою, але має бути безпечним і коректним для обліку.; У бізнес-системах погано налаштований кеш має змогу призвести до старих залишків, старих цін, старих прав доступу або старої версії інтерфейсу.; Кешування потрібне для того, щоб платформа працювала швидше й витрачала менше ресурсів.;

Головне. Cache — це тимчасове збереження даних для швидкого повторного доступу.; Cookies зберігають невеликі інформаційні дані, часто пов’язані з сесією, налаштуваннями або автентифікацією.; Правильний підхід. Кешування має бути розумним: кешувати потрібне, оновлювати вчасно, очищати після змін, враховувати права доступу й показувати актуальність даних.; # Документувати кешовані сутності.; !;== Cache і Authentication ==

як ілюстрація, якщо багато користувачів відкривають той самий довідник, backend має змогу не звертатися щоразу до бази даних, а оперативно повертати кешований результат.; # Не кешувати приватні інформаційні дані без контролю доступу.; Кешування в контексті автентифікації потребує особливої обережності.; | Після актуалізація користувач системи бачить старий інтерфейс через browser cache.;

Можуть кешуватися: як ілюстрація, платформа має змогу кешувати результат запиту до бази: |- | Cache hit | інформаційні дані знайдені в кеші | Довідник товарів оперативно відкрився з кешу |- | Cache miss | Даних у кеші немає | платформа звернулася до бази даних |}

як ілюстрація, API має змогу кешувати:

TTL визначає, як довго кешовані інформаційні дані вважаються актуальними.; Browser cache або кеш браузера — це локальне сховище у браузері, де зберігаються файли сайту або вебзастосунку.; | Кеш або кешування.;

  • тема інтерфейсу;
  • мова;
  • останні фільтри;
  • конфігурація таблиці;
  • стан форми;
  • тимчасові інформаційні дані.; | Він має змогу показати застарілі залишки, ціни, звіти або права доступу.; Типові симптоми:
  1. Кешувати статичні ресурси інтерфейсу.;== Cache warming ==

Але API cache потрібно налаштовувати уважно.;

  • browser cache;
  • frontend cache;
  • backend cache;
  • API cache;
  • database cache;
  • кеш довідників;
  • кеш налаштувань;
  • кеш звітів;
  • кеш статичних ресурсів;
  • кеш файлів;
  • кеш інтеграційних метаданих.; | У браузері, frontend, backend, API, базі даних, CDN, мобільних і десктопних застосунках.; |-

| Де застосовується cache?; Report cache — кешування звітів або частин звітів.; !; База даних має змогу зберігати в пам’яті часто використовувані сторінки, індекси, результати або частини запитів, щоб швидше відповідати на повторні звернення.; Для API істотно використовувати:

  • документи;
  • товари;
  • клієнти;
  • залишки;
  • склади;
  • звіти;
  • файли;
  • ролі;
  • історичний розвиток змін;
  • інтеграції.;== Типові проблеми з cache ==

Це чесніше, ніж показувати старий звіт так, ніби він щойно порахований.;

  • після актуалізація платформа виглядає старою;
  • JavaScript не відповідає новому backend;
  • CSS не оновився;
  • користувач системи бачить старий інтерфейс;
  • файл завантажується зі старої версії;
  • очищення кешу вирішує проблему.; Cache сприяє економити Bandwidth.; * заголовки кешування;
  • ETag;
  • Last-Modified;
  • TTL;
  • авторизацію;
  • версіонування;
  • invalidation;
  • rate limiting;
  • логування.; # Не показувати старі залишки без позначки актуальності.; У браузері кешування має змогу бути джерелом як швидкості, так і дивних помилок.; | Кеш браузера, який зберігає файли сайту або вебзастосунку.; Cache invalidation — бізнес-процес очищення або актуалізація кешу після зміни даних.;== Зовнішні посилання ==
Database cache — кешування на рівні бази даних.;

Українські хмарні системи мають бути не лише функціональними, а й швидкими, стабільними, масштабованими та безпечними.; У бізнес-системах, зокрема в K2 ERP, кешування має змогу прискорювати роботу інтерфейсу, довідників, звітів, API, файлів, налаштувань, статичних ресурсів, браузера, backend, frontend та інтеграцій.; як ілюстрація:

Cache в ERP

як ілюстрація, звіт за закритий період можна кешувати довше, бо інформаційні дані вже не змінюються.; Якщо на столі лежить старий прайс, клієнту можна випадково продати товар за ціною з минулої епохи.; # Реалізувати cache invalidation.; Backend cache особливо корисний там, де один і той самий запит виконується багато разів.;== Рекомендації для розробників ==

Практична примітка. Якщо після актуалізація вебсистеми інтерфейс функціонує дивно, іноді потрібно очистити кеш браузера або примусово оновити сторінку.;== Див.; додатково ==
  • ролі користувача;
  • список дозволів;
  • доступні компанії;
  • права на модулі;
  • права на документи.; У результаті кнопка має змогу працювати дивно, форма має змогу не відкриватися, а користувач системи скаже класичне: «Я нічого не чіпав, воно саме».; «Навіщо робити важку дію знову, якщо результат уже відомий і ще не застарів?»

Cache і Binary

Query cache корисний, але має очищатися після зміни відповідних даних.;== Навіщо потрібен cache ==

Кеш має змогу бути причиною помилок, які важко зрозуміти.; | Time To Live — строк життя кешованих даних.; У програмуванні навіть жартують, що є собою дві складні проблеми: називання речей, cache invalidation і помилки на одиницю.; Застереження. Кеш має змогу прискорити систему, але має змогу й показати застарілі інформаційні дані.; Довгий TTL дає більше прискорення, але збільшує ризик застарілої інформації.; Деколонізація обліку — це не лише відмова від та BAS, а й перехід до сучасної архітектури.; # Якщо інформаційні дані здаються старими, натиснути актуалізація або переформувати звіт.; * мобільних застосунків;

  • слабкого інтернету;
  • великих файлів;
  • зображень;
  • статичних ресурсів;
  • API;
  • хмарних ERP;
  • користувачів із різних регіонів.; * браузер;
  • чи очищався кеш;
  • чи сприяє режим інкогніто;
  • чи повторюється в іншому браузері;
  • чи проблема зникла після примусового актуалізація;
  • чи бачать проблему інші користувачі;
  • час актуалізація системи;
  • версію застосунку;
  • скриншот або відео.; Небезпека. У ERP не можна бездумно кешувати все підряд.; # Перевірити інший браузер.; Cookies і cache — різні речі.; як ілюстрація, браузер має змогу зберегти логотип, CSS, JavaScript і шрифти сайту, щоб не завантажувати їх щоразу з сервера.;

Старі локальні системи часто трималися на підході: «поставили на комп’ютер — і нехай живе».; завдяки наявності кешу браузер швидше відкриває сторінки, бо не завантажує все знову.