0

我想在我的应用程序启动时自动在 ArangoDB 中启用缓存。

docker-compose用来开始整个事情,但显然没有简单的参数可以在 ArangoDB 官方图像中启用缓存。

根据doc,其中的所有文件/docker-entrypoint-initdb.d/都在容器启动时执行。所以我添加了一个带有该代码的js文件:

require('@arangodb/aql/cache').properties({mode: 'on'});

它确实已执行,但似乎没有启用缓存(从我arangosh在容器中看到的)。

我的应用程序是一个使用 JS 的应用程序arangojs,所以如果我能这样做,我也会很高兴。

谢谢!

4

1 回答 1

1

根据性能服务器配置文档,您可以通过多种方式启用缓存。

您添加require("@arangodb/aql/cache").properties({ mode: "on" });到目录.js中文件的方法/docker-entrypoint-initdb.d/应该有效,但请注意日志。您可能需要使用不同的驱动程序(日志、系统日志等)重定向日志输出以查看发生了什么。确保通过运行命令arangosh查看它是否有效。

如果这是一个失败,您可能想看看是否有一种方法可以在运行时传递参数(例如--query.cache-mode on)。不幸的是,我不使用 Docker Compose,所以我不能在这里给你直接的建议,但试试类似的东西-e QUERY.CACHE-MODE=ON

如果没有办法传递参数,那么你可以修改配置文件:/etc/arangodb3/arangod.conf.

不要忘记用于系统管理的 REST API 方法。您可以通过单击Support-> Rest API->在 Web UI 中访问 AQL 配置(查看和更改) AQL

要记住的一件事 - 我不确定缓存设置是全局的还是绑定到特定的数据库。查看多个数据库(包括_system)上的配置以测试设置。

于 2022-02-25T06:03:48.227 回答