1 个不稳定版本
0.1.0 | 2023年2月5日 |
---|
#13 在 #set-key
23KB
238 行
Redis键清理器
此应用程序用于根据给定的模式和生存时间(TTL)值设置Redis键的过期时间。
需求
cargo 1.66.0
或更高版本- 或
docker
配置
应用程序可以通过命令行标志、环境变量以及yaml格式的配置文件进行配置。
常见行标志
--dry-run
:如果设置了此标志,应用程序不会为未设置的键设置任何TTL
值,但它将计数在操作过程中将处理多少个键。(默认值:false
)--config
:指向有效的yaml格式配置文件。(默认值:config.yaml
)
环境变量
以下环境变量可以在.env
(或从您的环境中提供)中设置
REDIS_HOST
:Redis服务器主机。REDIS_PORT
:Redis服务器端口。REDIS_USERNAME
:Redis服务器用户名。REDIS_PASSWORD
:Redis服务器密码。REDIS_SCHEME
:Redis服务器协议的方案。(默认值:rediss
)NOTIFICATION_WEBHOOK_URL
:如果设置了,清理完成后,将向此位置发送webhook通知(slack)。NOTIFICATION_CLEANUP_TITLE
:通知中的标题。NOTIFICATION_TEMPLATE_FILE
:用于生成通知内容的模板文件(jinja2)。(默认值:notification.j2
)
config.yaml
name
:在通知中使用的项目引用。pattern
:在处理键时使用的键模式。ttlSeconds
:如果未设置TTL值,则为键设置的TTL值(以秒为单位)。(-1)batch
:匹配的键以批处理方式处理。此值表示在一批中应处理多少个键。
示例
- name: My Custom keys
pattern: "{my-custom}*"
ttlSeconds: 86400
batch: 100000
- name: My Custom another keys
pattern: "{my-custom-another}*"
ttlSeconds: 129600
batch: 100000
用法
首先创建一个 .env
文件并填写其值。(可以根据 .env.template
创建)
cargo run -- --dry-run --config config.yaml
依赖项
~17–35MB
~542K SLoC