Size: a a a

Сrystal Lang — русскоговорящее сообщество

2021 September 28

E

Etki in Сrystal Lang — русскоговорящее сообщество
Зачем тащить, если у вас уже есть в проекте хранилище?
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Зачем нужен ттл?
источник

ЯК

Ярослав Коробейников... in Сrystal Lang — русскоговорящее сообщество
Ну для кеша допустим?
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Не для чего, а зачем?
источник

ЯК

Ярослав Коробейников... in Сrystal Lang — русскоговорящее сообщество
Инвалидация кеша
источник

TF

Terry Filch in Сrystal Lang — русскоговорящее сообщество
мемкешд
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Так она в любом случае должна триггериться не по времени, а по изменению данных
источник

ЯК

Ярослав Коробейников... in Сrystal Lang — русскоговорящее сообщество
😭😭😭😭😭😭😭
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
И чем вас не устраивает обычный page cache, который операционка будет держать практически перед любым хранилищем, и который сам будет вытесняться?
источник

ЯК

Ярослав Коробейников... in Сrystal Lang — русскоговорящее сообщество
Ладно ты прав прав
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Берите Tarantool.
источник

TF

Terry Filch in Сrystal Lang — русскоговорящее сообщество
😂😂😂
источник

TF

Terry Filch in Сrystal Lang — русскоговорящее сообщество
но тогда нужно переписывать прод на lua
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Как будто с sql базой нужно переписывать прод на sql.
Хотя доля истины есть: до недавнего времени транзакции были только в рамках выполнения одной lua процедуры.
В свежей версии вроде добавили protocol level transactions, но я не щупал.
Ну и вопрос был про kv хранилища, а для этого переносить логику приложения в базу не нужно.
источник

ВВ

Ваня Ваня in Сrystal Lang — русскоговорящее сообщество
ох, очередные похроны очередного инструмента)
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
А что с ним не так?
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
- Оверхед на каждый kv довольно-таки большой (~50 байт). Если используете expiration, оверхед практически удваивается. Если используете Redis Cluster, то ещё вырастает.
- Запись в лог весьма оптимистична и, емнип, блокирует основной тред.
- Репликация не может использовать лог на диске, только то, что помещается в буфер памяти мастера. Если вдруг вы рестартовали реплику, а у вас инстанс на 10GB и 10kwps (kilo-writes-per-second), реплика может и не подняться ни когда.
- Редис-Кластер... три года назад развалить его при ресайзе было раз плюнуть. Сейчас - три раза плюнуть, но не сказать, чтобы трудно.
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Писался энтузиастами для собственного развлечения, по большому счету все вложенные фишки бесполезны, а в ногу стрелял практически всем.
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Там снапшот данных снимался через форк процесса прости господи. Модель консистентности "От бога".
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Снапшот через форк - это не большая беда, если можешь себе позволить 600ms даунтайм раз в три часа. Это при размере базы в десятки гигабайт. Обычно редис не рекомендуют делать больше десяти гигабайт, так что там снижается до 200-300ms.
Проблема в блокирующей записи на диск основного лога: пока быстро-быстро пишется снапшот, начинает тупить запись на диск изменений. А т.к. тупят они в основном треде и синхронно, то по сути встаёт весь процесс редиса.
источник