0

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

在这里,我可以在一个数据库上存储一张表并为一个用户使用它。

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

}

我需要创建规则来为多个用户存储多个数据库,这些用户喜欢table1并被table2访问user1table3以及table4user2... 访问。

谢谢。

4

2 回答 2

1

在 Maxscale 2.1 中,只能为缓存过滤规则提供一对存储/使用值。

我冒昧地在 MariaDB Jira 上打开了 MaxScale 的功能请求,因为似乎尚未请求此功能。

于 2017-09-11T07:20:14.630 回答
0

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

filters = cache1 | cache2

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

于 2017-09-11T10:01:35.890 回答