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

Вопрос к знатокам! Как сделать кэширование данных без базы данных

правильно!? А то я сделал с помощью Dictionary и у меня от чего-то иногда (раза два в день) на сайте с тысячей посетителей в день это дело падает. При чем при записи в словарь или при проверке на nil обычно почему-то 🤷‍♂️

18 ответов

59 просмотров

А твой словарь — threadsafe?

Евгений-Данилов Автор вопроса
Alex Sherbakov
А твой словарь — threadsafe?

У меня просто [String:{AnyMyType}]

Евгений-Данилов Автор вопроса
Alex Sherbakov
Ну ты блин даешь (C) :)

Вот так я и думал, что херня у меня какая-то:)

Евгений Данилов
Вот так я и думал, что херня у меня какая-то:)

Херню сделал — херню получил ;) Прастити

Стикер

Не, ну обычно кэш нужен, чтоб с базы нагрузку снять. Правда, разные юзкейсы могут быть.

Keiman
Не, ну обычно кэш нужен, чтоб с базы нагрузку снят...

В данном случае он с одной базы снимает, на другую добавляет. Если не нравится Redis, можно взять специально заточенный под это memcached, под него тоже модули есть в nginx (и, кажется, в server side swift)

Alex Sherbakov
В данном случае он с одной базы снимает, на другую...

Как ты говоришь, лишнее переключение контекста. Если есть в Варор, то надо его научится приспосабливать. А ежели не хватает, то Redis, да…

Keiman
Как ты говоришь, лишнее переключение контекста. Ес...

Если есть один инстанс вапора, то да. Если их больше одного — на одном кэш есть, на втором нет, он дергает базу, кэширует, потом бац инвалидация, кэш уже не нужен. И такая поебень — целый день. (С) Ну т.е. частичный кэш и работать будет частично. И какой будет баланс кэшированности/некэшированности, предположить довольно трудно, но вполне очевидно, что чем чаще инвалидация, тем чаще будем иметь частичный кэш. Да и зачем нагружать приложение всякими техническими и сервисными задачами, если для этих задач созданы и проверены в бою оптимизированые специализированные инструменты.

Keiman
Как ты говоришь, лишнее переключение контекста. Ес...

Так вапор сам по себе медленный, сколько там, 40 тыс запросов в сек? А nginx 600 тыс.

Andrey
Так вапор сам по себе медленный, сколько там, 40 т...

Можно заменить на Hummingbird, если зубодробиловка нужна.

Keiman
Можно заменить на Hummingbird, если зубодробиловка...

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

Andrey
Так вапор сам по себе медленный, сколько там, 40 т...

Ну вот fastify быстрый пишут, но не представляю как народ на ноде пишет. Такая лапша-код, видимо мозги нужно особые иметь чтобы это читать, поддерживать. Шляпу могу только снять. Но там один EventLoop условный, как они синтетически даже такой рейт получили, не ясно 🤷‍♂️

Keiman
Можно заменить на Hummingbird, если зубодробиловка...

Чуть быстрее, но все равно для кеша лучше nginx (или caddy) - на порядок быстрее будет

Keiman
Ну вот fastify быстрый пишут, но не представляю ка...

А в ноде всякие критические вещи на С написаны

Keiman
Ну вот fastify быстрый пишут, но не представляю ка...

Fastify мой любимый вебсервер, но он по скорости примерно как хаммингбирд )

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта