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

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

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

18 ответов

36 просмотров

А твой словарь — 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 мой любимый вебсервер, но он по скорости примерно как хаммингбирд )

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

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

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Карта сайта