Mqtt MOSQUITO持久性文件(mosQUITO.db)的自动清除
在Mqtt MOSQUITO持久性文件(mosQUITO.db)的自动清除,mqtt,mosquitto,Mqtt,Mosquitto,在mosquito中,描述了将持久性设置为true时: 数据将在MOSQUITO关闭时写入磁盘,并且在 由autosave_interval定义的周期间隔 由于周期性的“转储”,mosquitto.db文件将持续增加。如何自动清除旧数据(我不需要历史记录,只需要最新的值)您不需要,而且您的前提似乎是错误的 文件不应该只是继续增长,当代理刷新它在内存中的数据库时,它会替换磁盘上的数据库,而不仅仅是附加到末尾 如果文件在增长,那么内存中的数据库也在增长,并且在某个时候会出现问题 持久性存储包含3种内
mosquito
中,描述了将持久性设置为true
时:
数据将在MOSQUITO关闭时写入磁盘,并且在
由autosave_interval定义的周期间隔
由于周期性的“转储”,mosquitto.db文件将持续增加。如何自动清除旧数据(我不需要历史记录,只需要最新的值)您不需要,而且您的前提似乎是错误的
文件不应该只是继续增长,当代理刷新它在内存中的数据库时,它会替换磁盘上的数据库,而不仅仅是附加到末尾
如果文件在增长,那么内存中的数据库也在增长,并且在某个时候会出现问题
持久性存储包含3种内容
给定主题的任何保留邮件的当前值。(假设消息具有固定大小,则仅当保留的消息数量增加时,该大小才会增加)
持久会话数据,例如,给定客户端订阅的主题。这将直接反映您拥有的客户数量。如果使用随机客户端ID,请确保将cleanSession
设置为false
QOS大于0的任何未确认消息。这些分为两个子组:
- 飞行中的高QOS消息,通常只有在代理/订阅者完全处理之前才应暂时保留这些消息
- 具有持久会话和高QOS订阅的脱机客户端的排队消息。如果您的客户端当前处于脱机状态,则这将取决于消息大小/速率,直到客户端恢复联机(如果您认为不应该让客户端长时间处于脱机状态,请参阅第2点)
如果需要,您还可以使用MOSQUITO选项持续客户端过期时间来删除给定时间长度后的持续会话。您不这样做,而且前提似乎是错误的
文件不应该只是继续增长,当代理刷新它在内存中的数据库时,它会替换磁盘上的数据库,而不仅仅是附加到末尾
如果文件在增长,那么内存中的数据库也在增长,并且在某个时候会出现问题
持久性存储包含3种内容
给定主题的任何保留邮件的当前值。(假设消息具有固定大小,则仅当保留的消息数量增加时,该大小才会增加)
持久会话数据,例如,给定客户端订阅的主题。这将直接反映您拥有的客户数量。如果使用随机客户端ID,请确保将cleanSession
设置为false
QOS大于0的任何未确认消息。这些分为两个子组:
- 飞行中的高QOS消息,通常只有在代理/订阅者完全处理之前才应暂时保留这些消息
- 具有持久会话和高QOS订阅的脱机客户端的排队消息。如果您的客户端当前处于脱机状态,则这将取决于消息大小/速率,直到客户端恢复联机(如果您认为不应该让客户端长时间处于脱机状态,请参阅第2点)
如果需要,您还可以使用MOSQUITO选项persistent\u client\u expiration duration
在给定的时间长度后删除持久会话