首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于清真寺持久化文件的AutoClear (mosquitto.db)

用于清真寺持久化文件的AutoClear (mosquitto.db)
EN

Stack Overflow用户
提问于 2020-07-23 07:13:19
回答 1查看 987关注 0票数 0

mosquitto 多古中,描述了当将persistence设置为true

当蚊子关闭时,这些数据将被写入磁盘,并按autosave_interval所定义的周期间隔写入磁盘。

由于周期性的“转储”,mosquitto.db文件将不断增加。如何自动清除旧数据(我不需要历史记录,只需要最新的值)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-23 07:58:58

你没有而且你的前提似乎是错的。

文件不应该继续增长,当代理刷新它在内存数据库中时,它取代了磁盘上的文件,它不只是附加到末尾。

如果文件正在增长,那么内存数据库中的文件也是如此,您在某个时候会遇到问题。

持久化存储包含三种东西。

  1. 给定主题的任何保留消息的当前值。(假设消息的大小是固定的,那么只有当保留的消息的数量增加时,这一数目才会增加)
  2. 持久会话数据,例如,订阅给定客户端的主题。这将直接反映您拥有的客户数量。如果使用随机客户端ids,请确保将cleanSession设置为false。
  3. 任何QOS大于0的未经确认的消息。这些分属于两个分组:
代码语言:javascript
运行
复制
- Inflight high QOS messages, these should normally be transient held only until it has been fully handled by the broker/subscribers
代码语言:javascript
运行
复制
- Queued messages for offline clients with persistent sessions and high QOS subscriptions. If you have clients that are currently offline then this will grow dependent on message size/rate until the client comes back online (see point 2 if you don't think you should have clients offline for a long time)

如果需要的话,您也可以使用蚊子选项persistent_client_expiration duration在给定的时间之后删除持久会话。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63048804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档