Правила кеширования MaxScale JSON
Я хотел бы знать, как правильно форматировать правила кэширования JSON в MaxScale. Мне нужно хранить несколько таблиц для нескольких баз данных и нескольких пользователей, как правильно отформатировать это?
Здесь я могу хранить одну таблицу в одной базе данных и использовать ее для одного пользователя.
{
"store": [
{
"attribute": "table",
"op": "=",
"value": "databse_alpha.xhtml_content"
}
],
"use": [
{
"attribute": "user",
"op": "=",
"value": "'user_databse_1'@'%'"
}
]
}
Мне нужно создать правило для хранения нескольких баз данных для нескольких пользователей, таких как table1
а также table2
доступ к user1
, table3
а также table4
доступ к user2
... и сын на.
Благодарю.
2 ответа
В Maxscale 2.1 можно задать только одну пару значений сохранения / использования для правил фильтрации кэша.
Я позволил себе открыть запрос функции для MaxScale на MariaDB Jira, поскольку эта функциональность еще не была запрошена.
Я думаю, что в качестве обходного пути вы должны иметь возможность создать два фильтра кеша с другим набором правил и затем использовать их в своей службе.
filters = cache1 | cache2
Обратите внимание, что выбор таблицы с использованием точного соответствия, как в приведенном выше примере, подразумевает, что оператор должен быть проанализирован, что влечет за собой значительные затраты производительности. Вы получите намного лучшую производительность, если не требуется совпадение или если оно выполняется с использованием регулярных выражений.