【问题标题】:Discord Bot SQL Query EfficiencyDiscord Bot SQL 查询效率
【发布时间】:2021-08-19 10:26:10
【问题描述】:

长话短说,我一直在开发一个 Discord Bot,每次在服务器中发送消息时都需要查询数据库。然后它将根据消息等执行操作。查询是异步的,因此不会阻止处理另一条消息。

但是,就可扩展性而言,我认为每次发送消息时查询数据库都不会很快并且可能会成为问题。有更好的解决方案吗?我不知道有一种方法可以在特定的不和谐服务器中存储数据,这可能会解决我的问题。

我的主要想法是堆存储,其中最近活动的服务器(即最近发送的消息),它们的数据被查询到堆中,当它们不活动时,将其从堆中删除。这是一个好的解决方案吗?还是每次都继续查询更好?

【问题讨论】:

  • 谢谢大家!真的很有帮助。
  • 很高兴我能帮上忙 :) 我会把这个作为答案发布,以获得更好的概览。如果它适用于此或对您有所帮助,您可以将其标记为已接受:D

标签: javascript postgresql discord.js


【解决方案1】:

您可以创建一个cache,每次您将fetch 或insert 某些内容写入您的database,您都可以将其写入cache。

然后,如果你需要一些数据,你可以检查它是否在cache 和如果不是,从database 获取并存储在cache 之后。

这可以防止对database 的不必要访问,因为只有在您的机器人没有存储locally 所需的数据时才会访问database。

注意:

cache 只有在您重新启动机器人时才会被清除。当然,您也可以在一定量 时间或其他触发器后清除它。


如果你需要一个例子,你可以看看我的guildMemberAdd事件和对应的config command

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-15
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    相关资源
    最近更新 更多