Size: a a a

var chat = new Chat();

2020 May 03

E

Etki in var chat = new Chat();
Bogdan
Пару насоеунд это проверить несколько ифов и вернуть данные
в оперативку сходить - это от сотни наносекунд
чтобы оно у тебя в L1 оказалось, где реально меньше наносекунды можно успеть, еще постараться надо
источник

E

Etki in var chat = new Chat();
короче
1) если вы держите кэш прямо в приложении, то он вам нахуй не нужен, потому что потом отмасштабироваться не сможете
2) если вы держите кэш как положено сетевым сервисом, то он опять же нахуй не нужен, потому что ограничен оперативкой, и проще пихать всё то же самое в основное хранилище, предоставляя возможность кэшу файловой системы держать страницы с горячими данными в той же памяти, зато не ебаться со всякими вытеснениями. Хранилище даже холодные данные поднимет без проблем, потому что дешевле key-value запросов не может быть ничего
источник

B

Bogdan in var chat = new Chat();
Etki
в оперативку сходить - это от сотни наносекунд
чтобы оно у тебя в L1 оказалось, где реально меньше наносекунды можно успеть, еще постараться надо
Ну сотня, один фиг
источник

E

Etki in var chat = new Chat();
ты просто говоришь цифры, но на деле их не знаешь
источник

B

Bogdan in var chat = new Chat();
Можно подумать 3 джоина это как сходить в кейвелью стор
источник

B

Bogdan in var chat = new Chat();
Плюс сервачек субд на другой машине, когда
источник

B

Bogdan in var chat = new Chat();
Etki
короче
1) если вы держите кэш прямо в приложении, то он вам нахуй не нужен, потому что потом отмасштабироваться не сможете
2) если вы держите кэш как положено сетевым сервисом, то он опять же нахуй не нужен, потому что ограничен оперативкой, и проще пихать всё то же самое в основное хранилище, предоставляя возможность кэшу файловой системы держать страницы с горячими данными в той же памяти, зато не ебаться со всякими вытеснениями. Хранилище даже холодные данные поднимет без проблем, потому что дешевле key-value запросов не может быть ничего
Ну про редис я писал. Там не тот скейл, проще будет вертикально отскейлить.

Это разве если будем потом дальше развивать проект
источник

E

Etki in var chat = new Chat();
джойны вообще тоже нахер не нужны, но я тебе и предлагаю просто вместо заведения лишней сущности пихать в то же хранилище те же данные, что ты пихал бы в кэш
источник

B

Bogdan in var chat = new Chat();
Надо будет, кстати, померять реально сколько оно там по времени будет.

Интересно в шарпах есть аналог джавийного System.nanoTime() ?
источник

B

Bogdan in var chat = new Chat();
Etki
джойны вообще тоже нахер не нужны, но я тебе и предлагаю просто вместо заведения лишней сущности пихать в то же хранилище те же данные, что ты пихал бы в кэш
Это уже интересно, но я не убежу на такое второго разраба)
источник

B

Bogdan in var chat = new Chat();
Неструктурированые данные хранить
источник

AS

Andrii Shcherbyna in var chat = new Chat();
Читать с оперативы всё равно быстрее чем с физической памяти. Норм в кэш положить данные - результат вычисления. А пихать в бд такие временные данные = потом так же само чистить таблицы. Что на порядок тяжелее чем очищать оперативку
источник

E

Etki in var chat = new Chat();
зачем их чистить?
источник

AS

Andrii Shcherbyna in var chat = new Chat();
Потому что память ограничена, а данные теряют быстро надобность? Всё от задач конечно зависит. Но по своей практике скажу. Синтетические тесты новых микросервисов всегда показывали максимальную скорость при работе с кэшом (тот же Redis). А в некоторых задачах ещё и такой алгоритм:
1) данные попадают в кэш
2) данные попадают в файловую систему
3) бэкграунд воркеры пихают данные с файловой системы в бд
Как всегда бд самая медленная и нагруженная часть системы
источник

E

Etki in var chat = new Chat();
> Потому что память ограничена
Мы про жесткий и максимум удвоение данных

> а данные теряют быстро надобность?
Если они потеряли надобность, может быть, еще и исходные данные пришибить?

> Синтетические тесты новых микросервисов всегда показывали максимальную скорость при работе с кэшом (тот же Redis).
Я даже не буду подробно разбирать абсурдность этой фразы. Максимальную скорость /dev/null показывает.

> данные попадают в кэш
Я хуй знает, что за эксперты так делают, но это равноценно "данные попадают никуда", потому что кэш - это такая хуйня, которой можно лишиться в любой момент и особо по этому поводу не париться и не восстанавливать работоспособность с пеной у рта.
источник

E

Etki in var chat = new Chat();
> Как всегда бд самая медленная и нагруженная часть систем

потому что вы не умеете с ней работать и из-за этого обмазываетесь всякой хуетой типа редиса
источник

AS

Andrii Shcherbyna in var chat = new Chat();
То есть ты поспоришь с тем, что жесткий диск медленнее RAM?
источник

E

Etki in var chat = new Chat();
то есть ты цепляешься за самый финальный аргумент
источник

AS

Andrii Shcherbyna in var chat = new Chat();
Нет
источник

E

Etki in var chat = new Chat();
до этого ты говорил про редис, а не про жесткий диск и оперативку
источник