MaxScale JSON 缓存规则

MaxScale JSON cache rules

我想知道如何正确地将 JSON 缓存规则格式化为 MaxScale。我需要为多个数据库和多个用户存储多个 table,如何正确格式化?

在这里,我可以将一个 table 存储在一个数据库中并供一个用户使用。

{
    "store": [
        {
            "attribute": "table",
            "op": "=",
            "value": "databse_alpha.xhtml_content"
        }
    ],
    "use": [
        {
            "attribute": "user",
            "op": "=",
            "value": "'user_databse_1'@'%'"
        }
    ]

}

我需要创建规则来为多个用户存储多个数据库,例如 table1table2user1table3table4 访问由 user2...和儿子访问。

谢谢。

在 Maxscale 2.1 中,只能为缓存过滤器规则提供一对 store/use 值。

我冒昧地 opening a feature request 在 MariaDB Jira 上使用 MaxScale,因为似乎还没有请求此功能。

我认为作为解决方法,您应该能够创建两个具有不同规则集的缓存过滤器,然后在您的服务中使用

filters = cache1 | cache2

请注意,如上面的示例所示,使用完全匹配选择 table 意味着必须解析该语句,这会带来显着的性能成本。如果不需要匹配或使用正则表达式执行匹配,您将获得更好的性能。