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'@'%'"
}
]
}
我需要创建规则来为多个用户存储多个数据库,例如 table1
和 table2
被 user1
、table3
和 table4
访问由 user2
...和儿子访问。
谢谢。
在 Maxscale 2.1 中,只能为缓存过滤器规则提供一对 store/use 值。
我冒昧地 opening a feature request 在 MariaDB Jira 上使用 MaxScale,因为似乎还没有请求此功能。
我认为作为解决方法,您应该能够创建两个具有不同规则集的缓存过滤器,然后在您的服务中使用
filters = cache1 | cache2
请注意,如上面的示例所示,使用完全匹配选择 table 意味着必须解析该语句,这会带来显着的性能成本。如果不需要匹配或使用正则表达式执行匹配,您将获得更好的性能。
我想知道如何正确地将 JSON 缓存规则格式化为 MaxScale。我需要为多个数据库和多个用户存储多个 table,如何正确格式化?
在这里,我可以将一个 table 存储在一个数据库中并供一个用户使用。
{
"store": [
{
"attribute": "table",
"op": "=",
"value": "databse_alpha.xhtml_content"
}
],
"use": [
{
"attribute": "user",
"op": "=",
"value": "'user_databse_1'@'%'"
}
]
}
我需要创建规则来为多个用户存储多个数据库,例如 table1
和 table2
被 user1
、table3
和 table4
访问由 user2
...和儿子访问。
谢谢。
在 Maxscale 2.1 中,只能为缓存过滤器规则提供一对 store/use 值。
我冒昧地 opening a feature request 在 MariaDB Jira 上使用 MaxScale,因为似乎还没有请求此功能。
我认为作为解决方法,您应该能够创建两个具有不同规则集的缓存过滤器,然后在您的服务中使用
filters = cache1 | cache2
请注意,如上面的示例所示,使用完全匹配选择 table 意味着必须解析该语句,这会带来显着的性能成本。如果不需要匹配或使用正则表达式执行匹配,您将获得更好的性能。