|
|
|
кэширование данных из БД
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНадо смотреть на структуры, конечно. Но у меня масса вопросов. Запись в кеш тогда должна быть транзакционной. Так чтобы ошибка в базе откатывала и запись в кеш. Я бы посмотрел как автор реализует транзакционный кэш на HashMap. :)Да, все зависит от конкретных сценариев. Если там банальные апдейты по одной строчке в транзакции, то можно справиться и своими силами. Если что-то более сложное, то разумнее взять стороннее решение. BlazkowiczВторое это запись в кэш и запись в базу - не одно и то же. Что делать если ключи генерируются в базе?Открыли транзакцию, записали в СУБД, вычитали из СУБД, закрыли транзакцию. BlazkowiczТут я вообще смысла не уловил. В кеш всегда попадают актуальные данные из Базы. Если кто-то вычитал предыдущее значение из кеша, то это ни на что не влияет. Он мог это же сделать и до записи в кеш.Кто-то не просто вычитал предыдущее значение. Он его вычитал и сохранил в кэш после того, как это сделал ридер с более актуальным значением. Как следствие если больше записей не будет, у вас в кэше навсегда застрянет неактуальное значение, и консистентности крышка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2013, 08:53:03 |
|
||
|
кэширование данных из БД
|
|||
|---|---|---|---|
|
#18+
just_vladimir Relic Hunter верно указал, что сначала надо понять причину тормозов (сеть, не оптимальные настройки, не оптимальные запросы), а потом уже городить кэширование. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2013, 11:58:59 |
|
||
|
кэширование данных из БД
|
|||
|---|---|---|---|
|
#18+
Подскажите как правильно поступить. Есть есть большой объект с 10 полями-списками, которые загружаются через JOIN/SELECT. Насколько правильным будет создать для этих полей создать 10 отдельных кэшей? Т.е. полностью отказаться от всех JOIN'ов и везде делать отдельный кэш для такого поля. В случае cache-miss делать обычный select в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2013, 13:16:13 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38389868&tid=2128646]: |
0ms |
get settings: |
15ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 290ms |
| total: | 448ms |

| 0 / 0 |
