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

Привет) Кто-нибудь вкурсе есть ли возможность не сохранять в cache

словаре с источником postgres значения, которые он не смог найти в pg? А то он возвращает defaultValue или null, и также кэширует его

10 ответов

14 просмотров

Паттерн "кэш" обычно не делает различия между положительным и отрицательным ответом от бэка при кэшировании... Оно Вам точно именно в таком виде требуется? Кэш сделан для того, чтобы снять нагрузку с бэка. Тут Вы просите эту нагрузку не снимать. Может кэш совсем отключить тогда?

Алексей- Автор вопроса
Alexey Oparin
Паттерн "кэш" обычно не делает различия между поло...

Суть проблемы вчера описывал, посоветовали использовать словарь с layout cache (понравилось, что делает запросы только по факту промаха кэша). Но вот в этот моменте случилась загвоздка. Основная идея уйти от internal join в материализованном представлении, но хочется быть всегда up to date с таблицей postgres, при этом не нагружать обновлениями hashed словарь каждую секунду

Алексей 
Суть проблемы вчера описывал, посоветовали использ...

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

Алексей 
Суть проблемы вчера описывал, посоветовали использ...

и вот ещё для раздумий из документации про обновление справочников: For other sources (ODBC, PostgreSQL, ClickHouse, etc), you can set up a query that will update the dictionaries only if they really changed, rather than each time. To do this, follow these steps: The dictionary table must have a field that always changes when the source data is updated. The settings of the source must specify a query that retrieves the changing field. The ClickHouse server interprets the query result as a row, and if this row has changed relative to its previous state, the dictionary is updated. Specify the query in the <invalidate_query> field in the settings for the source.

Алексей- Автор вопроса
Alexey Oparin
и вот ещё для раздумий из документации про обновле...

Спасибо, читал про это, но пока не сообразил как использовать, так как по сути основная задача это триггерится на вставку новой сущности в postgres, а все примеры именно на обновление сущности. Спасибо, попробую лучше подумать в эту сторону

Алексей 
Спасибо, читал про это, но пока не сообразил как и...

триггериться на вставку нужно извне. т.е. тот, кто вставил в постгрес сделал запрос на инвалидацию (очистку) кэша. про инвалидейт внутри КХ, то я читаю документацию так: если задан запрос на инвалидацию, то перед обновлением справочника будет выполнен запрос инвалидации. Если результат его будет отличаться от предыдущего, то весь кэш инвалидируется и справочник обновится. В противном случае кэш останется. Про обновление, если Вы про update_field, то это про инвалидацию всего кэша. Если эта настройка есть, то делается не сброс кэша и полное чтение, а запрос на изменённые значения и обновление в справочнике только изменённого.

Anton Mikhalev
нет. про update_field не так

простите, не совсем получилось разобраться, что не так про update_field... понятно, что его использование потребляет больше памяти и, наверное понятно, что потребляет больше цпу... что не так в том, что при этом обновляется не весь справочник, а только его часть?

Alexey Oparin
простите, не совсем получилось разобраться, что не...

на сколько я понимаю обновляется весь справочник, а вот запрашивается не весь

Alexey Oparin
триггериться на вставку нужно извне. т.е. тот, кто...

такого нет насколько я могу судить по доке пока для баз данных есть только ENGINE=Replicated(...

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта