2017-08-28 84 views
1

我正在寻找将集成缓存服务与无服务器。将redis集成到无服务器

我决定和redis一起去。但是,通过阅读npm redis,似乎您在完成请求后需要致电client.quit()

无服务器似乎工作的方式是生成实例,然后在不使用时删除。所以我想知道在无服务器实例被删除时是否有办法退出redis连接。

或者我是否只需要在每个请求中启动一个连接,然后在每个请求结束之前退出连接。

我希望我可以在应用状态而不是请求状态下这样做,这样我就不会产生这么多的连接。

回答

0

不可以。连接可以重复使用。它不需要为每个请求启动一个新的连接。

如果您使用redis.creatClient()创建连接,则可以始终在您的应用程序中使用此连接。如果连接断开,它具有重新连接机制。因此,在您的应用程序开发中,您不需要关心连接问题,只需获取全局连接并始终使用它。

+0

所以我根本不需要调用'client.quit()'? 从我读到的,如果你不打电话给它,它不会关闭连接。 –

+0

是的,如果你没有调用client.quit(),它将不会关闭连接。但为什么你调用client.quit(),你的应用程序正在运行,并且仍然需要这个客户端来发送命令到redis,你仍然需要这个连接。因此,当您的应用程序运行时,它会保持与redis的连接,无论何时您想要将命令发送到redis,都可以使用此客户端来执行此操作。如果你为每个请求创建一个客户端,这将是一个很大的代价。 – GuangshengZuo

+0

您应该将客户端设置为全局变量,并且代码中的任何地方都可以使用它。 – GuangshengZuo