gpt4 book ai didi

python - Elasticsearch Python API 中的持久连接是什么意思?

转载 作者:行者123 更新时间:2023-12-02 22:15:01 25 4
gpt4 key购买 nike

我正在使用 Python Elasticsearch API在我的应用程序中与 ES 交互。目前,只要应用程序收到用户请求,它就会执行 esclient = Elasticsearch("127.0.0.1")然后使用这个 esclient以搜索所需的数据。但我最近读到 ES 具有持久连接。所以,

  • 我应该保存 esclient某处并重用它?如果是,我该怎么做?
  • 如果我忘记 esclient 会不会有一些资源泄漏在请求之后,下次打开一个新的?如果是,我该如何解决这个问题/关闭打开的连接?

  • 此外,对于 memcached/Redis python API 也有同样的问题。我愿意 client = Client("127.0.0.1")在每个用户请求期间多次。

    抱歉,这似乎是一个愚蠢的问题,但我有点困惑。

    提前致谢!

    最佳答案

    对于 elasticsearch python 客户端,你应该只有一个实例并继续重用它。

    If you create new ones there will be some connections left hanging,but also both your app and elasticsearch itself will be paying theoverhead of creating and maintaining additional connections, which isnot good.


    如果是 Django 或 Flask 应用程序,可以创建一个 elasticsearch 特定的资源文件,并按如下方式创建连接并在任何地方重复使用。
    ESCLIENT = Elasticsearch()
    到处导入 ESCLIENT 并重复使用。

    关于python - Elasticsearch Python API 中的持久连接是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982801/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com