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

Cache

Матеріал з K2 ERP Wiki

Але чутливі інформаційні дані в local storage зберігати небезпечно, особливо токени або персональну інформацію. як приклад, звіт за закритий період можна кешувати довше, бо інформаційні дані вже не змінюються. # Обережно кешувати довідники. ERP — це не блог і не візитка. Хмарні ERP потребують іншого мислення:

API cache

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

як приклад, платформа здатна кешувати результат запиту до бази:

Browser cache

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

  • frontend cache;
  • backend cache;
  • API cache;
  • database cache;
  • кеш довідників;
  • кеш налаштувань;
  • кеш звітів;
  • кеш статичних ресурсів;
  • кеш файлів;
  • кеш інтеграційних метаданих. Cache warming — попереднє наповнення кешу до того, як користувачі почнуть активно працювати. Кешування робить системи швидшими, зменшує навантаження на сервер, базу даних, API та мережу. Кеш дає можливість не завантажувати, не рахувати й не передавати одні й ті самі інформаційні дані повторно, якщо їх можна оперативно взяти з ближчого або швидшого сховища. Інакше це здатна стати витоком даних.== TTL ==
  • список активних валют;
  • довідник одиниць виміру;
  • конфігурація компанії;
  • список типів документів;
  • рідко змінювані системні параметри. Типові ситуації:

Головна проблема кешу — ризик застарілих даних. як приклад, backend уже оновився, а браузер користувача ще використовує старий JavaScript. як приклад, backend здатна кешувати:

як приклад, якщо багато користувачів відкривають той самий довідник, backend здатна не звертатися щоразу до бази даних, а оперативно повертати кешований результат. Це оптимізує уникнути ситуації, коли перший користувач системи після оновлення версій чекає довше за всіх і відчуває себе тестувальником без попередження. Паролі, токени, фінансові інформаційні дані, персональна інформаційні матеріали й конфіденційні документи мають оброблятися обережно. # Після роботи на спільному пристрої виходити із системи.== Рекомендації для ERP ==

Кешування зменшує кількість даних, які проходять через мережу, і робить систему швидшою. Cache дає можливість уникати зайвої роботи. # Враховувати користувача, компанію й роль у кешованих API-відповідях.

Браузер здатна кешувати:

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

Але нотатка має бути актуальною. Добра практика. Кешувати варто те, що часто читається, рідко змінюється і не створює ризику показати користувачу неправильні бізнес-дані. У режимі інкогніто функціонує. # Якщо інформаційні дані здаються старими, натиснути оновлення версій або переформувати звіт. У цьому сенсі cache — частина сучасної культури розробки українських систем. Кешування binary здатна економити bandwidth, але потрібно враховувати права доступу. Приклад:

! Кешування має безпекові ризики. Зовнішній сервіс здатна отримувати кешовані метадані.== Cache і десктопні застосунки ==

Але після зміни ролей кеш має оновитися. Відповідь

Типові проблеми з cache

Cache у backend

У браузері кешування здатна бути джерелом як швидкості, так і дивних помилок. Для K2 ERP cache важливий, бо платформа функціонує як хмарна ERP-платформа й здатна обслуговувати багато користувачів, компаній, документів, довідників, файлів, звітів та інтеграцій. | У браузері, frontend, backend, API, базі даних, CDN, мобільних і десктопних застосунках. Після очищення кешу проблема зникла.

Звіти в ERP часто важкі, тому кешування звітів здатна бути корисним. CDN cache здатна зберігати:

Cache і cookies

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

Звіт сформовано станом на 10:30

Короткий TTL зменшує ризик старих даних, але дає менше прискорення. Приклад

Правильне кешування на рівні бази даних здатна значно прискорити роботу системи. Якщо інформаційні матеріали часто потрібна, немає сенсу щоразу йти в архів, відкривати шафу, шукати папку й робити вигляд, що це ефективний бізнес-процес. # Перевіряти кеш під час регресійного тестування. | Після оновлення версій користувач системи бачить старий інтерфейс через browser cache.SEO title: Cache — кешування даних у браузері, backend, API, ERP та K2 ERP

SEO keywords: cache, кеш, кешування, browser cache, backend cache, API cache, CDN, TTL, invalidation, ERP, K2 ERP, browser, backend, frontend, database, PostgreSQL, автоматизація бізнесу, українське програмне забезпечення

</noinclude>
 {{SEO
Шаблон для службового SEO-опису сторінки. 

}}


  1. Кешувати статичні ресурси інтерфейсу. Можна кешувати:

Cache hit і cache miss

TTL визначає, як довго кешовані інформаційні дані вважаються актуальними. Але мобільний кеш має враховувати безпеку: якщо телефон загублено, інформаційні дані не повинні швидко потрапити стороннім людям. Жарт функціонує, бо кеш справді підступний. як приклад:

  • що кешувати;
  • на який строк;
  • коли очищати;
  • як оновлювати;
  • як перевіряти актуальність;
  • хто має право бачити кешовані інформаційні дані;
  • чи можна кешувати персональні або фінансові інформаційні дані;
  • що робити після зміни прав доступу. |-
Що таке TTL? # Не показувати старі залишки без позначки актуальності. Він дає можливість браузеру швидше відкривати сторінки, backend — менше навантажувати базу даних, API — відповідати швидше, звітам — не рахуватися повторно, а хмарним ERP — працювати стабільніше для багатьох користувачів. # Вказувати правильний TTL. * браузер;
  • чи очищався кеш;
  • чи оптимізує режим інкогніто;
  • чи повторюється в іншому браузері;
  • чи проблема зникла після примусового оновлення версій;
  • чи бачать проблему інші користувачі;
  • час оновлення версій системи;
  • версію застосунку;
  • скриншот або відео. Cookies і cache — різні речі.== Суть поняття ==

У frontend кеш здатна використовуватися для тимчасового збереження даних в інтерфейсі.== CDN cache ==

Time To Live — строк життя кешованих даних. Але frontend не повинен зберігати критичні або секретні інформаційні дані без потреби. # Для критичних звітів перевіряти час формування даних. # Документувати кешовані сутності. # Не кешувати приватні документи без контролю доступу. У мобільних застосунках кешування дуже важливе. Але кеш — це не магічна кнопка «зробити оперативно». Query cache — кешування результатів запитів. База даних здатна зберігати в пам’яті часто використовувані сторінки, індекси, результати або частини запитів, щоб швидше відповідати на повторні звернення. Наслідок

як приклад, після запуску системи можна заздалегідь підготувати:

  • фото товарів;
  • PDF-рахунки;
  • акти;
  • накладні;
  • скани;
  • сертифікати;
  • зображення;
  • експортовані звіти. # Показувати час формування кешованих звітів. Кешування оптимізує будувати такі системи.

Якщо інформаційні дані вже збережені локально або ближче до користувача, їх не потрібно передавати мережею повторно. | Він здатна показати застарілі залишки, ціни, звіти або права доступу. | Тимчасове сховище даних для швидкого повторного доступу. Cache — це проміжне сховище, яке зберігає інформаційні дані ближче до місця використання або в швидшому форматі. Файли можуть кешуватися в браузері, CDN, backend або файловому сховищі. як приклад, платформа здатна зберігати в кеші:

Cache і Backend

Небезпека. У ERP не можна бездумно кешувати все підряд. Але якщо кешовані інформаційні дані застарілі, високий hit rate не тішить — він без зусиль оперативно показує неправильну інформацію. | Щоб прискорити систему, зменшити навантаження на сервер, базу даних, API та мережу. Кешована відповідь для одного користувача не повинна потрапити іншому користувачу. через кешу браузер швидше відкриває сторінки, бо не завантажує все знову. У backend cache часто застосовується для для зменшення навантаження на базу даних і зовнішні сервіси. Cache hit — ситуація, коли потрібні інформаційні дані знайдені в кеші. Cache оптимізує економити Bandwidth. Інакше можна випадково показати одній людині інформаційні дані іншої. # Використовувати ETag або Last-Modified там, де доречно. |-

Що таке browser cache? Для чого застосовується для
  • показувати час формування звіту;
  • давати кнопку оновлення версій;
  • кешувати тільки там, де це безпечно;
  • очищати кеш після зміни документів;
  • не показувати старі інформаційні дані як актуальні. |-
Що таке Cache? * змінилася ціна товару — потрібно оновити кеш прайсів;
  • змінився залишок — потрібно оновити кеш складу;
  • змінилася роль користувача — потрібно оновити кеш прав;
  • оновився JavaScript — потрібно змусити браузер завантажити нову версію;
  • змінився документ — потрібно оновити кеш звіту. Окремо варто відзначити яке застосовується для; так само реалізовано сайтів, браузерів, серверів, API, баз даних, ERP, CRM, мобільних застосунків і хмарних платформ виступає ключовою рисою прискорення роботи програм забезпечується через Cache або кеш. # Не зберігати секрети в frontend cache. У бізнес-системах, зокрема в K2 ERP, кешування здатна прискорювати роботу інтерфейсу, довідників, звітів, API, файлів, налаштувань, статичних ресурсів, браузера, backend, frontend та інтеграцій. Поняття
Кешувати приватну сторінку одного користувача й показати її іншому — це не оптимізація, а інцидент.
  • статичні файли;
  • інтерфейсні ресурси;
  • рідко змінювані довідники;
  • системні конфігурація;
  • шаблони;
  • частини звітів;
  • публічні або нечутливі метадані. {| class="wikitable" style="width:100%;"

Українські хмарні системи мають бути не лише функціональними, а й швидкими, стабільними, масштабованими та безпечними. # Логувати проблеми кешу. # У bug report вказувати, чи очищення кешу допомогло. В ERP це здатна бути стара ціна, старий залишок, стара роль користувача або старий статус документа. # Не кешувати приватні інформаційні дані без контролю доступу. * HTML;

  • CSS;
  • JavaScript;
  • зображення;
  • шрифти;
  • іконки;
  • PDF;
  • статичні файли;
  • частини API-відповідей;
  • конфігурація інтерфейсу. Але frontend cache має погоджуватися з backend. Cache зберігає ресурси або інформаційні дані для прискорення повторного доступу. # Реалізувати cache invalidation. Головне. Cache — це тимчасове збереження даних для швидкого повторного доступу. # Очищати кеш звітів після змін у документах. TTL або Time To Live — час життя кешу.

Cache і помилки

CDN або Content Delivery Network — мережа серверів, яка доставляє статичні ресурси ближче до користувача. * хмарна інфраструктура K2 ERP

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

Старий browser cache Після оновлення версій інтерфейс функціонує неправильно Використовувати versioning і cache busting
Неправильна invalidation користувач системи бачить старі інформаційні дані Очищати кеш після зміни даних
Кеш без урахування прав Ризик витоку даних Враховувати користувача, роль і компанію
Надто довгий TTL інформаційні дані довго не оновлюються Вибирати TTL за типом даних
Немає кешу платформа повільно функціонує Кешувати безпечні й повторювані інформаційні дані
Кешування всього підряд Ризик неправильних бізнес-даних Кешувати вибірково
Немає кнопки оновлення версій звіту користувач системи не здатна отримати актуальні інформаційні дані Дати явне оновлення версій
Локальний кеш після виходу Ризик доступу до приватних даних Очищати або захищати чутливий кеш
  1. Якщо після оновлення версій інтерфейс функціонує дивно, спробувати примусово оновити сторінку. Десктопні застосунки так само можуть мати кеш. База даних здатна тримати часто використовувані сторінки даних у пам’яті. Приватний PDF або документ не повинен кешуватися так, щоб його міг отримати інший користувач системи. як приклад, десктопний клієнт ERP K2 ERP для Linux, Windows або macOS здатна кешувати статичні ресурси, конфігурація, довідники або частину даних для швидшої роботи. |-
Навіщо потрібен кеш? * хмарна інфраструктура K2 ERP API cache — кешування відповідей API.

Cache у K2 ERP

У авторизації кешування прав доступу здатна прискорити роботу системи. Термін

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

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

як приклад:

Безпека. Кеш не повинен ставати другим, неофіційним сховищем конфіденційних даних без контролю доступу. |}

Database cache

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

Якщо користувачу забрали доступ, а кеш ще дає можливість йому бачити інформаційні дані, це серйозна проблема. Добра практика. Якщо звіт кешується, користувач системи має розуміти, коли саме інформаційні дані були оновлені. як приклад, API здатна кешувати:

Object cache

  • ролі користувача;
  • список дозволів;
  • доступні компанії;
  • права на модулі;
  • права на документи. Якщо файл належить конкретній компанії або документу, кеш має враховувати права користувача. Після оновлення версій K2 ERP кнопка “Зберегти” не функціонує в Chrome.== Cache в ERP ==

Деколонізація обліку — це не лише відмова від та BAS, а й перехід до сучасної архітектури. ! Це добре функціонує для публічних сайтів, де сторінка однакова для всіх користувачів.== Cache і деколонізація обліку ==

Cache і безпека

Мобільний інтернет здатна бути нестабільним, тому застосунок здатна кешувати:

На неї впливають: У K2 ERP кешування здатна використовуватися на різних рівнях:

У frontend cache оптимізує зробити інтерфейс швидшим. Приклади:

  • зображення;
  • CSS;
  • JavaScript;
  • шрифти;
  • відео;
  • файли;
  • статичні сторінки;
  • публічні ресурси. API cache здатна бути дуже корисним для інтеграцій. |-
Що таке cache invalidation? Object cache — кешування об’єктів у пам’яті. Приклад

Погана invalidation призводить до старих даних. Але API cache має бути обережним із приватними даними. Якщо один і той самий звіт відкривають багато користувачів або він формується за незмінний період, його можна кешувати. Тут старі інформаційні дані можуть вплинути на бізнес-рішення. Але воно не замінює якісної структури даних, індексів і оптимізованих запитів.== Джерела ==

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

як приклад: Backend здатна кешувати:

Не можна бездумно кешувати:

Коротко

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

Cache і застарілі інформаційні дані

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


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

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

Де застосовується для cache? * Browser

Cache invalidation — бізнес-процес очищення або оновлення версій кешу після зміни даних.== Query cache == Cache — це один із найважливіших механізмів швидкої роботи цифрових систем. Тому вебсистеми використовують versioning або cache busting — додавання версій до файлів, щоб браузер завантажував нову версію після оновлення версій.

«Навіщо робити важку дію знову, якщо результат уже відомий і ще не застарів?»

Якщо API повертає інформаційні дані конкретного користувача, компанії або ролі, кеш має враховувати доступи. як приклад:

Cache оптимізує:

як приклад:

хмарна інфраструктура K2 ERP доступна за адресою:

Для приватних файлів потрібно контролювати доступ. Кеш — це як нотатка на столі. Але не можна бездумно кешувати паролі, секретні ключі або чутливі інформаційні дані. Критично. API cache має враховувати авторизацію. | K2 ERP здатна використовувати кешування для швидкої роботи хмари, браузера, API, довідників, звітів і файлів. * зображення;

  • PDF;
  • архіви;
  • шрифти;
  • іконки;
  • файли документів;
  • експорти;
  • звіти.Бінарні дані так само можуть кешуватися. * browser cache;
  • backend cache;
  • API cache;
  • database cache;
  • CDN;
  • invalidation;
  • TTL;
  • кешування файлів;
  • синхронізація;
  • безпека;
  • масштабування. Такі помилки часто описують у bug report як проблему середовища або проблему оновлення версій.== Рекомендації для розробників ==
  • документи;
  • товари;
  • клієнти;
  • залишки;
  • склади;
  • звіти;
  • файли;
  • ролі;
  • історія продукту змін;
  • інтеграції.== Див. так само ==

Зовнішні посилання

Застереження. Кеш здатна прискорити систему, але здатна й показати застарілі інформаційні дані. # Перевірити роботу в режимі інкогніто. # Для ERP не кешувати критичні інформаційні дані без чітких правил актуальності. Обидва механізми важливі для браузера, але виконують різні ролі. # Якщо проблема не зникає, очистити кеш браузера. * кеш довідника — 10 хвилин;

  • кеш статичних файлів — 1 день;
  • кеш звіту — 5 хвилин;
  • кеш налаштувань — 1 година;
  • кеш сесії — до завершення входу. Але після оновлення версій системи старий browser cache здатна заважати. Мобільний застосунок здатна кешувати список статусів. через Object cache користувачі можуть не створювати й не завантажувати ті самі об’єкти повторно. Кешування потрібне для того, щоб платформа працювала швидше й витрачала менше ресурсів. Для ERP CDN здатна бути корисним для статичних ресурсів інтерфейсу, але не для приватних бізнес-даних без правильного захисту. # Для мобільного кешу враховувати безпеку пристрою.== Cache і Authorization ==

Cache і Authentication

Cache і Binary

Саме тому кешування в бізнес-системах потребує правил:

  • довідники;
  • останні документи;
  • конфігурація;
  • інформаційні дані користувача;
  • статуси;
  • шаблони;
  • частину файлів. API cache здатна зменшити навантаження на backend і прискорити роботу клієнтів. Звіти можуть бути важкими: вони обробляють багато документів, періодів, товарів, клієнтів і рухів. * не перезавантажувати довідник при кожному відкритті форми;
  • зберігати стан таблиці;
  • не завантажувати повторно статичні ресурси;
  • швидше перемикатися між вкладками;
  • працювати стабільніше при слабкому інтернеті;
  • зменшити кількість API-запитів. Кешування оптимізує зробити роботу швидшою, але має бути безпечним і коректним для обліку. як приклад, браузер здатна зберегти логотип, CSS, JavaScript і шрифти сайту, щоб не завантажувати їх щоразу з сервера. * один користувач системи бачить нову версію, інший стару;
  • після оновлення версій кнопка не функціонує;
  • довідник не оновився;
  • старий JavaScript викликає новий API неправильно;
  • користувач системи бачить старі права;
  • звіт не змінюється після оновлення версій документів;
  • очищення кешу вирішує проблему. Кеш здатна бути причиною помилок, які важко зрозуміти. Українське програмне забезпечення (ПЗ) має працювати оперативно не тому, що «користувач системи потерпить», а тому, що сильна платформа має поважати час користувача. У простому сайті це здатна бути стара картинка або старий текст. # Не плутати кеш із cookies. | Очищення або оновлення версій кешу після зміни даних. # Додавати кнопку «Оновити» для важливих даних. Після виходу користувача з системи приватні інформаційні дані не повинні залишатися доступними через кеш браузера або історію. як приклад:

Cache і API

На відміну від звичайного browser cache, local storage часто застосовується для програмою явно. Приклади:

Після виходу користувача з системи його сесійні інформаційні дані мають бути очищені або зроблені недійсними. Cache виступає як технічним елементом цифрової незалежності України. Значення

Cache у frontend

Cache і швидкодія

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

  • якість backend;
  • оптимізація frontend;
  • база даних;
  • мережа;
  • Bandwidth;
  • API;
  • алгоритми;
  • кешування;
  • кількість користувачів;
  • кількість документів;
  • розмір файлів;
  • структура звітів.== Cache і Bandwidth ==
У програмуванні навіть жартують, що виступає як дві складні проблеми: називання речей, cache invalidation і помилки на одиницю.
  1. Кешувати тільки те, що справді має сенс кешувати. Для ERP це критично, тому що база даних функціонує з великими обсягами інформації:
  • сесії;
  • токени;
  • інформаційні дані користувача;
  • MFA-стан;
  • ключі перевірки;
  • публічні сертифікати;
  • конфігурація входу. Довгий TTL дає більше прискорення, але збільшує ризик застарілої інформації. Швидкодія системи залежить не лише від потужності сервера. Для K2 ERP. У K2 ERP кешування важливе для швидкої роботи хмари, браузера, довідників, звітів, API, файлів, мобільних застосунків, десктопних клієнтів та одночасної роботи багатьох компаній. Він має прискорювати роботу, але не показувати старі інформаційні дані, не ламати права доступу, не приховувати оновлення версій й не створювати ризик витоку інформації. Типові симптоми:

Cache і Bug report

Кешування в контексті автентифікації потребує особливої обережності.

Висновок

  • після оновлення версій платформа виглядає старою;
  • JavaScript не відповідає новому backend;
  • CSS не оновився;
  • користувач системи бачить старий інтерфейс;
  • файл завантажується зі старої версії;
  • очищення кешу вирішує проблему. тимчасове сховище даних. |-
Як cache пов’язаний із K2 ERP? Приклад:

Cache і Browser

Cache hit інформаційні дані знайдені в кеші Довідник товарів оперативно відкрився з кешу
Cache miss Даних у кеші немає платформа звернулася до бази даних

Frontend cache робить інтерфейс швидшим і зручнішим. * заголовки кешування;

  • ETag;
  • Last-Modified;
  • TTL;
  • авторизацію;
  • версіонування;
  • invalidation;
  • rate limiting;
  • логування. Якщо помилка здатна бути пов’язана з кешем, у bug report варто вказати:

Page cache

Cache warming

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

Database cache — кешування на рівні бази даних. Добра практика: Якщо інформаційні дані змінилися в базі, але користувач системи бачить стару кешовану версію, це здатна створити помилки. | Кеш або кешування. * довідники;

  • списки категорій;
  • конфігурація;
  • публічні інформаційні дані;
  • статичні метадані;
  • результати пошуку;
  • нечасто змінювані відповіді. Для K2 ERP backend cache здатна бути важливим для швидкої роботи хмари, особливо коли багато компаній і користувачів працюють одночасно.
  • об’єкт користувача;
  • конфігурація компанії;
  • список ролей;
  • довідник статусів;
  • шаблон документа;
  • конфігурацію модуля. |-
Яка типова проблема? інформаційні дані обліку, залишки, ціни, права доступу й фінансові звіти мають бути актуальними. У результаті кнопка здатна працювати дивно, форма здатна не відкриватися, а користувач системи скаже класичне: «Я нічого не чіпав, воно саме». Якщо frontend думає, що інформаційні дані старі, а backend уже оновив їх, потрібен механізм синхронізації. * результати запитів;
  • довідники;
  • конфігурація;
  • конфігурації;
  • права доступу;
  • шаблони;
  • звіти;
  • відповіді API;
  • результати складних обчислень;
  • метадані файлів. * залишки;
  • ціни;
  • права доступу;
  • фінансові звіти;
  • документи;
  • персональні інформаційні дані;
  • інформаційні дані компаній;
  • результати інтеграцій;
  • сесії користувачів.
! як приклад, інтеграційні функції ERP з інтернет-магазином здатна кешувати довідник категорій. Cache miss — ситуація, коли даних у кеші немає, і систему потрібно звертатися до основного джерела: бази даних, API, файлового сховища або зовнішнього сервісу. Local storage — сховище даних у браузері, яке здатна використовуватися frontend для збереження налаштувань або тимчасових даних.== Cache і звіти ==

Для API критично використовувати:

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

https://cloud.corp2.eu

! * швидше відкривати сторінки;

  • зменшувати кількість запитів до сервера;
  • зменшувати навантаження на базу даних;
  • економити пропускну здатність;
  • прискорювати API;
  • швидше показувати довідники;
  • не рахувати складні звіти повторно;
  • зменшувати затримки;
  • покращувати роботу мобільних застосунків;
  • зменшувати витрати на інфраструктуру. У бізнес-системах погано налаштований кеш здатна призвести до старих залишків, старих цін, старих прав доступу або старої версії інтерфейсу.

Навіщо потрібен cache

Не довіряйте кешу сліпо. Якщо платформа показує старі інформаційні дані, дивну поведінку після оновлення версій або неочікувану версію інтерфейсу, перевірте browser cache, API cache, TTL та invalidation. Це інструмент, який потребує правил.

Cache invalidation

Це чесніше, ніж показувати старий звіт так, ніби він щойно порахований. # Використовувати versioning для frontend-ресурсів.== Cache і local storage ==

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

  • слабкого інтернету;
  • великих файлів;
  • зображень;
  • статичних ресурсів;
  • API;
  • хмарних ERP;
  • користувачів із різних регіонів. |-

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

!

Для українських ERP, CRM, державних сервісів, бізнес-платформ і хмарних рішень cache — це частина інженерної якості. |- | Чому кеш небезпечний в ERP? # Використовувати кешування для масштабування хмари.== Report cache ==

Cache і файли

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

  • кеш довідників;
  • кеш шаблонів документів;
  • кеш результатів API;
  • кеш токенів зовнішніх сервісів;
  • кеш метаданих файлів;
  • кеш прав доступу;
  • кеш звітів. # Не зберігати конфіденційні інформаційні дані на чужому комп’ютері. # Показувати час формування звіту. Page cache — кешування цілих сторінок. Як краще

Cache і Frontend

  • користувача;
  • ролі;
  • компанії;
  • прав доступу;
  • мови;
  • фільтрів;
  • поточного стану документів;
  • сесії. Проблема

Критично. Кеш прав доступу має очищатися одразу після зміни ролей, блокування користувача або відкликання доступу.