169 похожих чатов

16 ответов

14 просмотров

просто сохранение в памяти

Alexey-Topunov Автор вопроса

Ещё и данных с сервера... Разве это не обязанность сервера кэшировать то, что он отдаёт клиенту?

Alexey-Topunov Автор вопроса
Alexey Topunov
Ещё и данных с сервера... Разве это не обязанность...

Под сервером грубо называю связку бд и апишки

Тебе нужны данные одинаковые в разных местах. Нужны - делаешь запрос. Либа делает так, чтобы данные запрашивались один раз, в остальных случаях будут получены те же самые сразу. Если обновятся - обновятся сразу везде. Вокруг этого - разные стратегии обновления и кэширования

Alexey-Topunov Автор вопроса
Grigorii K. Shartsev
Тебе нужны данные одинаковые в разных местах. Нуж...

Хоспаде... и для этого библиотека отдельная понадобилась? Может, я не шарю, конечно, но, по-моему, кэшировать можно по хэшу, составленному из одной единицы данных (например): не совпадает — обновляем, совпадает — не трогаем

Alexey Topunov
Хоспаде... и для этого библиотека отдельная понадо...

Ты что-то не так понял. Что с чем ты решил сравнивать?

Alexey Topunov
Хоспаде... и для этого библиотека отдельная понадо...

Ты читал раздел motivation на первой странице доки?

Alexey Topunov
Хоспаде... и для этого библиотека отдельная понадо...

А для Pinia нужна отдельная либа? За день пишется тоже

Alexey-Topunov Автор вопроса
Grigorii K. Shartsev
Ты что-то не так понял. Что с чем ты решил сравнив...

Прилетает json: { "name": "Vasya" } Записали его в стор. Прилетает второй раз тот же самый — мы стор уже не обновляем, потому что json'ы эквивалентны. Это кэширование или нет?

Alexey Topunov
Прилетает json: { "name": "Vasya" } Записали е...

Запросили Записали его в стор Он там уже есть Используем то что есть, не запрашиваем второй раз Это кеширование

Alexey-Topunov Автор вопроса
ᅠ ᅠ
Запросили Записали его в стор Он там уже есть Испо...

Хорошо. Поставили условный таймер на 2 минуты, пока в течение 2 минут что-то есть, не отправляем запрос, но, допустим, на сервере name изменился, а мы показываем старый. Тогда, получается, габелла?

> на сервере name изменился, а мы показываем старый Это не общий случай, это узкий кейс, когда на сервере что-то поменялось без участия текущего клиента И таймеров никаких ненадо (почти никогда)

Alexey-Topunov Автор вопроса
ᅠ ᅠ
> на сервере name изменился, а мы показываем стары...

Для каких кейсов это может быть полезно, если мы уже работаем с сервером, и нам надо получать актуальные данные?

Alexey Topunov
Для каких кейсов это может быть полезно, если мы у...

Когда в приложении больше выводятся данные с сервера в разных местах, чем манипулируют данными. Это позволяет в любом месте приложения, где нужны данные с бека, просто запрашивать их с "дай данные", как будто больше они нигде не нужны. И обновлять их не думая о том, что они используются в разных местах с разными стратегиями обновления. Без этого либо данные каждый раз запрашиваются заново и независимы, либо надо писать велосипед со стором, который у каждого будет свой и просто реализовывать те же функции

Alexey Topunov
Для каких кейсов это может быть полезно, если мы у...

В общем случае если мы их получили и они не менялись на текущем клиенте - то они актуальные. Это значит то что запросить мы их можем один раз и больше не запрашивать. Если на текущем клиенте произойдёт какое то взаимодействие с юзером в результате которого эти данные поменяются, то мы их естественно обновим. Вот для таких базовых кейсов и полезно, ничего особенного, цель просто не делать лишние запросы, и для этой цели используем готовый инструмент вместо того чтобы велосипедить и сосредотачивать своё внимание на этих нюансах, тем более в своём прикладном коде

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта