| 
 | 
| 
 
Вопрос по кешированию 
 | 
|||
|---|---|---|---|
| 
 #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&gotonew=1&tid=1547108]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    39ms | 
get topic data:  | 
    9ms | 
get first new msg:  | 
    7ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    55ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 220ms | 
| total: | 361ms | 

| 0 / 0 | 
