MongoDb-GridFs-文件清理方案

fs.files集合中的内容

{
  "_id" : 文件ObjectId,  【默认索引字段】
  "length" : 文件描述文档大小,
  "chunkSize" : 文件大小,
  "uploadDate" : 上传时间, 【默认索引字段】
  "md5" : 废弃的字段,无视即可,
  "filename" : 文件名【清理策略中用做文件类型】
  "contentType" : 废弃的字段,无视即可,
  "aliases" : 废弃的字段,无视即可,
  "metadata" : 文件描述信息【清理策略中用做清理区分条件】
}

例如:商品图片

{
  ......
  "filename" : “商品图片”
  "metadata" : {
     ......
     "商品类型":"洗浴用品",
     "date":"20201011"
  }
}
{
  ......
  "filename" : “商品图片”
  "metadata" : {
     ......
     "商品类型":"办公用品",
     "date":"20201011"
  }
}
{
  ......
  "filename" : “商品图片”
  "metadata" : {
     ......
     "商品类型":"玩具",
     "date":"20201011"
  }
}

文件清理策略

任务ID任务名定时cron表达式metadata文件类型

保留时间

毫秒数

1办公用品图片清理策略* * * * * ?{
     ......
     "商品类型":"办公用品"
  }
商品图片36000
2洗浴用品图片清理策略* * * * * ?{
     ......
     "商品类型":"洗浴用品"
}
商品图片72000

使用方式

  1. 启动时加载文件清理策略配置表
  2. 根据cron表达式启动定时任务
  3. 到达指定时间后执行通用清理task。task工作:
    1. 根据metadata、文件类型、保留时间生成指定查询语句
    2. 根据查询语句使用 gridFsTemplate删除指定files集合中内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值