|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
Дмитрий Мух hVostt Хотя непонятно, какого профита вы достигаете. Меньше обращений к БД, не надо лепить блокировки. При инвалидации тоже не нужно лепить блокировки. Данные в БД обновились, следом из кеша данные удалились. Лепить блокировки нужно, только если нужно обеспечить абсолютную гарантию, что в момент выполнения изменений, остальные клиенты должны дождаться обновлённых данных, прям момент в момент. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 21:37 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
Дмитрий Мух То есть в запросе к БД за списком фигурирует BLOB поле, где данные файла хранятся? нет. только его ИД. скачивается отдельным запросом hVostt 1. Логика, которая приводит к изменениям данных 2. Инвалидируется кеш 3. Данные сохраняются в БД Между 2 и 3 другой клиент может выполнить запрос, который приведёт к заполнению кеша, уже не верными данными. именно так. вот по этому в сторону очереди и посмотрел Дмитрий Мух 20 файлов за 2 секунды? Бот какой-то что-ли? нет ) слишком резвый клиент ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 21:42 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
sergq Дмитрий Мух То есть в запросе к БД за списком фигурирует BLOB поле, где данные файла хранятся? нет. только его ИД. скачивается отдельным запросом значит запрос должен быть быстрым снова возвращаемся к вопросу: кто выжрал пул коннектов? резвый клиент, скачивающий файлы? тогда как поможет кэширование списка? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 22:07 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
Дмитрий Мух sergq пропущено... нет. только его ИД. скачивается отдельным запросом значит запрос должен быть быстрым снова возвращаемся к вопросу: кто выжрал пул коннектов? резвый клиент, скачивающий файлы? тогда как поможет кэширование списка? Выжрал пул, к сожалению, я) забыл сделать detach базы пула) И все ж вопрос по кешированию. Хочется , как говорится , заморочиться) Допустим со стороны сервера добавляются документы. Можно их ид и ид клиента закидывать в тот же rabbit. И с другой стороны очереди читать и в redis изменять объект. Пишется это все в js. И вроде как он не дает гарантии последовательности выполнения? Допустим со стороны сервера почти одновременно возникает ситуация добавления документа с каким то ид клиента и ситуация удаления документа с ид того же клиента. Со стороны сервера кидаем в rabbit инфу о добавлении и инфу о удалении. А вот как гарантировать, что в очередь станет сначала информация о добавлении, а потом об удалении? В js я относительно недавно. И , полагаю , может возникнуть такая ситуация, что даже если все будет добавляться в очередь последовательно (добавление ид клиента, удаление ид клиента) то эти два события могут стать в очередь наоборот? Или я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2020, 22:32 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
sergq А вот как гарантировать, что в очередь станет сначала информация о добавлении, а потом об удалении? Почитайте про оптимистичную блокировку. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 00:32 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
>sergq, вчера, 22:32 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1324233&msg=22115111][22115111] >… Допустим со стороны сервера почти одновременно ... < 1. Допустим в базе данных есть таблица <клиент, json>. 2. Сервер делает UPDATE строк по завершению записи новых документов. 3. Клиенты только читают <клиент, json> строки . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 12:16 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
sergq Выжрал пул, к сожалению, я) забыл сделать detach базы пула) А уже потом кэшированием с очередями заморачиваться :) sergq И , полагаю , может возникнуть такая ситуация, что даже если все будет добавляться в очередь последовательно (добавление ид клиента, удаление ид клиента) то эти два события могут стать в очередь наоборот? Используйте timestamp, выбирайте из очереди пачку событий, сортируйте их по времени. Вот только в чём смысл? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 13:36 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
ВМоисеев >sergq, вчера, 22:32 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1324233&msg=22115111][22115111] >… Допустим со стороны сервера почти одновременно ... < 1. Допустим в базе данных есть таблица <клиент, json>... У него нет в базе таблицы <клиент, json>. Он писал выше, что в базе, а где json. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 14:19 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
>Дмитрий Мух, сегодня, 14:19 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1324233&msg=22115404][22115404] >У него нет в базе таблицы <клиент, json>. Он писал выше, что в базе, а где json. < Он писал "Пока сделал так." Если ввести таблицу <клиент, json>, то зачем всё эти редисы и декораторы? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 15:05 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
ВМоисеев Если ввести таблицу <клиент, json>, то зачем всё эти редисы и декораторы? а щоб было! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 15:48 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
ВМоисеев >Дмитрий Мух, сегодня, 14:19 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1324233&msg=22115404][22115404] >У него нет в базе таблицы <клиент, json>. Он писал выше, что в базе, а где json. < Он писал "Пока сделал так." Если ввести таблицу <клиент, json>, то зачем всё эти редисы и декораторы? И зачем ему таблица <клиент, json>? Поясните? У него есть все необходимые таблицы, данные из которых выбираются, преобразуются в JSON и отдаются в таком виде клиенту. ТС хочет полученный JSON кэшировать в редисе, чтобы не напрягать базу лишний раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 16:49 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
There are only two hard things in Computer Science: cache invalidation and naming things. (c) Кто-то великий ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 17:04 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
mayton There are only two hard things in Computer Science: cache invalidation and naming things. (c) Кто-то великий Именно. Я в общем не зря поднимал этот вопрос ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 18:23 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
Давайте красиво подытожим. В строительстве кешей мы забыли что есть внутри hardware эталонные и красивые реализации кеширующих протоколов (очень тайм-критичных) и надёжных настолько что еслибы они сбоили хотябы 1 раз в мильон циклов - то работать с CPU/Memory было бы невозможно. Сюда до кучи ключевые слова Cache Coherency, MSI, MESI e.t.c. К сожалению прикладные разработчики этой частью инженерии знаний никогда не интересуются и велосипедят свои прикладные велосипеды основанные на TTL/тегах и различного рода эвристиках и частных случаях (система ребутается раз в сутки все равно). Возможно моё предложение нелепо с точки зрения возможностей (есть ли обратная интеракция между сервером и клиентом АКА веб-сокет?) или я ошибаюсь в количественных характеристиках микросекунды заменяю на милисекунды и утверждаю что все будет летать чики-пики. Если я ошибаюсь качественно - то прошу доказать. И если я ошибаюсь количественно - то прошу провести какие-то числовые выкладки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 18:58 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
Короче кэш с очередями тут не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 19:19 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
В плане, заниматься вопросом кеширования, когда в этом есть необходимость -- согласен. А когда этот вопрос становится актуален, значит уже есть соответствующая нагрузка и цифры, на которых уже можно делать какие-то числовые выкладки. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 03:10 |
|
Вопрос по кешированию
|
|||
---|---|---|---|
#18+
>mayton, 13 апр 20, 18:58 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1324233&msg=22115582][22115582] >...Сюда до кучи ключевые слова Cache Coherency, MSI, MESI e.t.c... < Может быть имеет смысл посмотреть на это и на это ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 15:56 |
|
|
Start [/forum/topic.php?fid=33&tid=1547108&gotonew=1]: |
0ms |
get settings: |
3ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
12ms |
get topic data: |
5ms |
get first new msg: |
2ms |
get forum data: |
0ms |
get page messages: |
15ms |
get tp. blocked users: |
0ms |
others: | 71ms |
total: | 118ms |
0 / 0 |