Правила кеширования 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

Обратите внимание, что выбор таблицы с использованием точного соответствия, как в приведенном выше примере, подразумевает, что оператор должен быть проанализирован, что влечет за собой значительные затраты производительности. Вы получите намного лучшую производительность, если не требуется совпадение или если оно выполняется с использованием регулярных выражений.

Другие вопросы по тегам