如何通过 Docker 或 arangojs 在 ArangoDB 中启用缓存?
How to enable caching in ArangoDB via Docker or arangojs?
我想在 ArangoDB 中启用缓存,在我的应用程序启动时自动启用。
我正在使用 docker-compose
来启动整个过程,但显然没有简单的参数来启用 ArangoDB 官方图像中的缓存。
根据doc,/docker-entrypoint-initdb.d/
中的所有文件都在容器启动时执行。所以我添加了一个带有该代码的 js 文件:
require('@arangodb/aql/cache').properties({mode: 'on'});
它确实执行了,但似乎没有启用缓存(从我在容器中看到的arangosh
)。
我的应用是一个使用arangojs
的JS应用,所以如果我能这样做,我也很高兴。
谢谢!
根据 performance and server config 文档,您可以通过多种方式启用缓存。
您将 require("@arangodb/aql/cache").properties({ mode: "on" });
添加到 /docker-entrypoint-initdb.d/
目录中的 .js
文件的方法应该可行,但请留意日志。您可能需要使用 different driver(日志、系统日志等)重定向日志输出以查看发生了什么。确保通过 arangosh
运行 命令以查看它是否有效。
如果那是一个半身像,您可能想看看是否有一种方法可以在 运行 时间传递参数(例如 --query.cache-mode on
)。不幸的是,我不使用 Docker Compose,所以我不能在这里给你直接的建议,但可以试试 -e QUERY.CACHE-MODE=ON
如果没有办法传递参数,那么你可以修改配置文件:/etc/arangodb3/arangod.conf
.
并且不要忘记用于系统管理的 REST API 方法。您可以通过单击 Support
-> Rest API
-> AQL
.
在 Web UI 中访问 AQL 配置(查看和更改)
请记住一件事 - 我不确定缓存设置是全局的还是绑定到特定数据库。查看多个数据库(包括 _system
)上的配置以测试设置。
我想在 ArangoDB 中启用缓存,在我的应用程序启动时自动启用。
我正在使用 docker-compose
来启动整个过程,但显然没有简单的参数来启用 ArangoDB 官方图像中的缓存。
根据doc,/docker-entrypoint-initdb.d/
中的所有文件都在容器启动时执行。所以我添加了一个带有该代码的 js 文件:
require('@arangodb/aql/cache').properties({mode: 'on'});
它确实执行了,但似乎没有启用缓存(从我在容器中看到的arangosh
)。
我的应用是一个使用arangojs
的JS应用,所以如果我能这样做,我也很高兴。
谢谢!
根据 performance and server config 文档,您可以通过多种方式启用缓存。
您将 require("@arangodb/aql/cache").properties({ mode: "on" });
添加到 /docker-entrypoint-initdb.d/
目录中的 .js
文件的方法应该可行,但请留意日志。您可能需要使用 different driver(日志、系统日志等)重定向日志输出以查看发生了什么。确保通过 arangosh
运行 命令以查看它是否有效。
如果那是一个半身像,您可能想看看是否有一种方法可以在 运行 时间传递参数(例如 --query.cache-mode on
)。不幸的是,我不使用 Docker Compose,所以我不能在这里给你直接的建议,但可以试试 -e QUERY.CACHE-MODE=ON
如果没有办法传递参数,那么你可以修改配置文件:/etc/arangodb3/arangod.conf
.
并且不要忘记用于系统管理的 REST API 方法。您可以通过单击 Support
-> Rest API
-> AQL
.
请记住一件事 - 我不确定缓存设置是全局的还是绑定到特定数据库。查看多个数据库(包括 _system
)上的配置以测试设置。