Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: refine filter documentation #907

Merged
merged 1 commit into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/src/en/filter/filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,22 @@ RedisShake provides various built-in filter rules that users can choose from acc
## Filtering Keys
RedisShake supports filtering by key name, key name prefixes, and suffixes. You can set the following options in the configuration file, for example:
```toml
[filter]
allow_keys = ["user:1001", "product:2001"] # allowed key names
allow_key_prefix = ["user:", "product:"] # allowed key name prefixes
allow_key_suffix = [":active", ":valid"] # allowed key name suffixes
allow_key_regex = [":\\d{11}:"] # allowed key name regex, 11-digit mobile phone number
block_keys = ["temp:1001", "cache:2001"] # blocked key names
block_key_prefix = ["temp:", "cache:"] # blocked key name prefixes
block_key_suffix = [":tmp", ":old"] # blocked key name suffixes
block_key_regex = [":test:\\d{11}:"] # blocked key name regex, 11-digit mobile phone number with "test" prefix
```
If these options are not set, all keys are allowed by default.

## Filtering Databases
You can specify allowed or blocked database numbers, for example:
```toml
[filter]
allow_db = [0, 1, 2]
block_db = [3, 4, 5]
```
Expand All @@ -27,6 +31,7 @@ If these options are not set, all databases are allowed by default.
## Filtering Commands
RedisShake allows you to filter specific Redis commands, for example:
```toml
[filter]
allow_command = ["GET", "SET"]
block_command = ["DEL", "FLUSHDB"]
```
Expand All @@ -37,6 +42,7 @@ You can also filter by command groups. Available command groups include:
SERVER, STRING, CLUSTER, CONNECTION, BITMAP, LIST, SORTED_SET, GENERIC, TRANSACTIONS, SCRIPTING, TAIRHASH, TAIRSTRING, TAIRZSET, GEO, HASH, HYPERLOGLOG, PUBSUB, SET, SENTINEL, STREAM
For example:
```toml
[filter]
allow_command_group = ["STRING", "HASH"]
block_command_group = ["SCRIPTING", "PUBSUB"]
```
6 changes: 6 additions & 0 deletions docs/src/zh/filter/filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,22 @@ RedisShake 提供了多种内置的过滤规则,用户可以根据需要选择
## 过滤 Key
RedisShake 支持通过键名、键名前缀和后缀进行过滤。您可以在配置文件中设置以下选项,例如:
```toml
[filter]
allow_keys = ["user:1001", "product:2001"] # 允许的键名
allow_key_prefix = ["user:", "product:"] # 允许的键名前缀
allow_key_suffix = [":active", ":valid"] # 允许的键名后缀
allow_key_regex = [":\\d{11}:"] # 允许的键名正则,11位手机号
block_keys = ["temp:1001", "cache:2001"] # 阻止的键名
block_key_prefix = ["temp:", "cache:"] # 阻止的键名前缀
block_key_suffix = [":tmp", ":old"] # 阻止的键名后缀
block_key_regex = [":test:\\d{11}:"] # 阻止的键名正则,11位手机号,前缀为test
```
如果不设置这些选项,默认允许所有键。

## 过滤数据库
您可以指定允许或阻止的数据库编号,例如:
```toml
[filter]
allow_db = [0, 1, 2]
block_db = [3, 4, 5]
```
Expand All @@ -27,6 +31,7 @@ block_db = [3, 4, 5]
## 过滤命令
RedisShake 允许您过滤特定的 Redis 命令,例如:
```toml
[filter]
allow_command = ["GET", "SET"]
block_command = ["DEL", "FLUSHDB"]
```
Expand All @@ -37,6 +42,7 @@ block_command = ["DEL", "FLUSHDB"]
SERVER, STRING, CLUSTER, CONNECTION, BITMAP, LIST, SORTED_SET, GENERIC, TRANSACTIONS, SCRIPTING, TAIRHASH, TAIRSTRING, TAIRZSET, GEO, HASH, HYPERLOGLOG, PUBSUB, SET, SENTINEL, STREAM
例如:
```toml
[filter]
allow_command_group = ["STRING", "HASH"]
block_command_group = ["SCRIPTING", "PUBSUB"]
```
Loading