#key #redis #key-set #set-key #pattern #ttl #applications

app redis-cleaner

此应用程序用于根据给定的模式和生存时间(TTL)值设置Redis键的过期时间。

1 个不稳定版本

0.1.0 2023年2月5日

#13#set-key

MIT 许可证

23KB
238

Redis键清理器

build workflow License: MIT

此应用程序用于根据给定的模式和生存时间(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